【发布时间】:2016-03-17 13:51:55
【问题描述】:
我有来自同一个域(存储在 MongoDB 中)的数千个 URL,我需要使用 scrapy 抓取这些 URL。问题是,蜘蛛爬取第一个 URL,完成然后拿起第二个。我怎样才能让它一次获取多个 URL,所有这些都被并行抓取 - 独立?
我总是可以多次运行命令scrapy crawl <spidername>,但我正在寻找比这更复杂的解决方案。
欢迎实验想法!
【问题讨论】:
-
小心 - 这听起来像是让自己被禁止进入正在抓取的域的好方法!
-
我了解风险。请假设域所有者已将我的 IP 地址永久列入白名单
-
@PraveshJain,你调整过
CONCURRENT_REQUESTS和CONCURRENT_REQUESTS_PER_DOMAIN吗?将这些设置为足够高的值,scrapy 应该并行下载大量页面。 -
@paultrmbrth:谢谢你的建议。我不知道那个设置。我看到 CONCURRENT_REQUESTS_PER_DOMAIN 的默认值为 8。但是,我仍然看到同步抓取的页面。
-
scrapy 进程中没有真正的并行化:stackoverflow.com/a/21755434/858913
标签: scrapy