следующая </a> не содержит ссылку href. Как перебрать все последующие страницы в Scrapy? - PullRequest
0 голосов
/ 17 октября 2019

Я хочу использовать scrapy для перемещения по страницам после следующей кнопки на веб-странице. Но я обнаружил, что там нет ссылок, где находится следующая кнопка. Как я могу это сделать, если нет ссылок на ссылки? Все должно быть в следующем. как получить ссылку на ссылку?

снимок экрана с указанием следующей кнопки

1 Ответ

0 голосов
/ 17 октября 2019

Scrapy не может интерпретировать JavaScript. Вы должны использовать селен, чтобы щелкнуть и получить или щелкнуть ссылку.

from selenium import webdriver

class your_spider_name(Spider):
    name = 'xxx'
    allowed_domains = ['www.example.org']
    start_urls = ['https://www.example.org']

    def __init__(self):
        self.driver = webdriver.Firefox()

    def parse(self,response):
            self.driver.get('https://www.example.org/example')

            while True:
                try:
                    next = self.driver.find_element_by_xpath('//*[@id="BTN_NEXT"]')
                    url = 'http://www.example.org/example'
                    yield Request(url,callback=self.parse2)
                    next.click()
                except:
                    break

            self.driver.close()

    def parse2(self,response):
        print 'you are here!'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...