繁体   English   中英

如何每天晚上使用scrapy抓取成千上万的网址

[英]How to scrape tens of thousands urls every night using scrapy

我正在使用scrapy抓取一些大品牌以导入我的网站的销售数据。 目前我正在使用

DOWNLOAD_DELAY = 1.5

CONCURRENT_REQUESTS_PER_DOMAIN = 16

CONCURRENT_REQUESTS_PER_IP = 16

我正在使用项目加载器来指定css / xpath规则,并使用管道将数据写入csv。 我收集的数据是原始价格,销售价格,颜色,尺寸,名称,图像网址和品牌。

我只为一位商人写了蜘蛛,网址大约为1万个网址,这大约需要4个小时。

我的问题是,对于10k url,4小时听起来还不错吗?还是应该比这更快。 如果是这样,我还需要做什么来加快速度。

我在本地仅使用一个SPLASH实例进行测试。 但是在生产中,我计划使用3个SPLASH实例。

现在的主要问题是,我大约有125个商家,每个商家的平均商品价值为1万。 其中有超过15万个网址需要抓取。

我每天晚上都需要抓取他们的所有数据以更新我的网站。 由于我的一只蜘蛛需要4个小时来抓取1万个网址,所以我想知道每晚实现125 x 1万个网址是否是一个正确的梦想

非常感谢您对我的问题的丰富经验。

您的DOWNLOAD_DELAY是每个IP强制执行的,因此,如果只有1个IP,则10,000个请求将花费15000秒(10,000 * 1.5)。 刚过4个小时。 是的,那是正确的。

如果您要抓取多个站点,则它们将是不同的IP地址,因此它们应或多或少并行运行,因此仍需要4个小时左右的时间。

如果您要抓取125个站点,那么您可能会在某个时候遇到另一个瓶颈。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM