[英]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.