为了账号安全,请及时绑定邮箱和手机立即绑定

使用CrawlSpider翻页抓取时,如何抓取第一页上面的内容?

使用CrawlSpider翻页抓取时,如何抓取第一页上面的内容?

Qyouu 2019-02-24 00:50:36
我使用CrawlSpider结合下面的Rules来进行自动翻页,爬取豆瓣top250的电影信息: rules = ( Rule(LinkExtractor(restrict_xpaths='//span[@class="next"]/a'), callback='parse_item', follow=True), ) 因为我想要抓取的信息都在表层的网页上,所以我不需要进入到每一页上的URL里面。 但是这样问题就来了,即使callback设置了处理函数,但是只有当LinkExtractor提取第二页链接并生成Response的时候才会开始调用callback函数,那这样第一页的内容就没了。 网上搜索过一些其他方案,但是基本都是用两个或以上的Rule(他们需要进入到深层的URL)。如果用最基本的Spider手动写翻页代码的话确实可以解决这个问题,可是能不能用CrawlerSpider解决呢,因为这样看起来优雅一点。
查看完整描述

2 回答

?
蝴蝶刀刀

TA贡献1801条经验 获得超8个赞

第一页的内容默认回调函数为parse_start_url,你只需重写这个方法即可

查看完整回答
反对 回复 2019-03-01
?
烙印99

TA贡献1829条经验 获得超13个赞

LinkExtractor这里面写的不是正则写的是你匹配的下一页的url里面的东西LinkExtractor(r'/subject/d+/')

查看完整回答
反对 回复 2019-03-01
  • 2 回答
  • 0 关注
  • 947 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信