【发布时间】:2018-05-16 18:49:39
【问题描述】:
我是 Scrapy 的新手,正在阅读 Learing Scrapy 来学习,我有一个关于抓取顺序的问题。
书中提供了一段代码:
rules = (
Rule(LinkExtractor(restrict_xpaths='//*[contains(@class,"next")]')),
Rule(LinkExtractor(restrict_xpaths='//*[@itemprop="url"]'),
callback='parse_item')
)
而且它说 Scrapy 使用 LIFO 策略进行爬取。所以我想第一项应该是最后一页上的项,但结果第一项是在第一页上。
为什么?根据代码,我认为 Scrapy 会一直遵循第一条规则,直到找到最后一页,然后它会开始解析最后一页上的项目。我很困惑。
如果一个网站有数百万个页面,Scrapy 不会解析任何项目,直到它到达最后一页?
【问题讨论】:
标签: python web-scraping scrapy