#python #selenium #web-scraping #scrapy #data-mining
#python #селен #веб-очистка #scrapy #интеллектуальный анализ данных
Вопрос:
Я пытался наскрести кое-какие данные из flipkart.com использование scrapy. Я получил все, кроме перехода на следующую страницу. сначала я попытался использовать scrapy, а затем selenium. на самом деле, класс имеет 2 ссылки для предыдущей страницы и для следующей страницы.
с помощью scrapy: я не могу получить никакого результата. Я получаю пустой вывод.
с selenium: всякий раз, когда я пытаюсь нажать на следующую страницу, она отлично работает со страницы 1 на страницу 2. но затем вместо перехода на 3-ю страницу она возвращается на вторую страницу.
есть ли другой способ сделать это? как я должен различать URL-адреса для предыдущей страницы и следующей страницы?
Комментарии:
1. пожалуйста, поделитесь своим кодом
2. Вы можете изменить номер страницы непосредственно в URL :
https://www.flipkart.com/...amp;page=3
.3. Я бы предложил изменить URL-адрес, как говорит @YevhenKuzmovych (желательно с использованием scrapy), поскольку xpath элементов может меняться каждый раз, когда вы нажимаете next . Путь xpath также может отличаться в зависимости от категории продуктов
4. спасибо @YevhenKuzmovych, это работает…
Ответ №1:
просто добавьте [-1], чтобы драйвер извлекал только последний встречающийся результат для данного класса / идентификатора для flipkart код выглядит следующим образом
driver.find_elements_by_xpath('//a[@class="_1LKTO3"]')[-1].click()