Scrapy & Selenium - Загрузить следующие страницы - PullRequest
1 голос
/ 21 сентября 2019

Я пытаюсь очистить следующий веб-сайт: https://sabobic.blogabet.com

Мой сканер уже сканирует нужное мне содержимое.Но после нажатия на кнопку «Просмотреть старые» я не знаю, как снова запустить мой метод «crawltips».

Это мой текущий код:

class AlltipsSpider(Spider):
    name = 'alltips'
    allowed_domains = ['blogabet.com']

    def start_requests(self):
        self.driver = webdriver.Chrome('C:\webdrivers\chromedriver.exe')
        # Place all user urls here
        url = "https://sabobic.blogabet.com"
        self.driver.get(url)
        yield scrapy.http.Request (url, callback=self.crawltips)


    def crawltips(self, response):
        sel = Selector(text=self.driver.page_source)
        allposts = sel.xpath('//*[@class="block media _feedPick feed-pick"]')

        for post in allposts:
            username = post.xpath('.//div[@class="col-sm-7 col-lg-6 no-padding"]/a/@title').extract()
            publish_date = post.xpath('.//*[@class="bet-age text-muted"]/text()').extract()

            yield{'Username': username,
                'Publish date': publish_date
                }

        try:
            self.driver.find_element_by_id('last_item').click()
            sleep(5)
        except NoSuchElementException:
            self.logger.info('No more tipps')
        yield Request(url, callback=self.crawltips)

Я думаю, что-тонеправильно с функцией yield, потому что у меня нет нового URL ...

1 Ответ

1 голос
/ 22 сентября 2019

Должно работать следующее:

yield scrapy.Request(self.driver.current_url,callback=self.crawltips)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...