我正在使用Scrapy 1.5.1版。我创建了解析器,该解析器从主页解析URL,然后从已解析的URL解析URL,等等。Scrapy异步工作并建立并行连接。问题是,我有一些逻辑应该首先解析url,创建我已经访问过的url集,要访问的最大url等。
起初,我配置了CONCURRENT_REQUESTS_PER_DOMAIN=1
和CONCURRENT_REQUESTS=1
,但没有帮助,因为我认为有一个调度程序会缓存URL,然后将其处理,然后以不同的顺序执行。
我需要做的是强迫scrapy处理一个URL,等到完成后再开始解析新的URL,等等。有没有办法配置scrapy来做到这一点?
答案 0 :(得分:0)
尝试使用yield response.follow
代替yield Request
:https://doc.scrapy.org/en/latest/topics/request-response.html#scrapy.http.TextResponse.follow