首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Scrapy & Selenium -加载下一页

Scrapy & Selenium -加载下一页
EN

Stack Overflow用户
提问于 2019-09-22 04:19:59
回答 1查看 217关注 0票数 1

我正在尝试抓取以下网站:https://sabobic.blogabet.com

我的爬虫已经抓取了我需要的内容。但在点击"See on“-Button之后,我不知道如何再次启动我的方法"crawltips”。

这是我当前的代码:

代码语言:javascript
复制
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)

我认为收益函数有问题,因为我没有新的url…

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-09-22 13:56:12

下面的代码应该可以工作:

代码语言:javascript
复制
yield scrapy.Request(self.driver.current_url,callback=self.crawltips)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58043807

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档