我是Scrapy的新手。我设法创建了一个Scrapy项目,运行它来抓取一个网站并保存在csv文件中报废的信息。但是,每次运行它时,似乎被抓取的网页的数量和顺序都不同。我很确定这段时间内网站是静态的。总的来说,这是正常的吗?
答案 0 :(得分:2)
来自scrapy architecture overview:
Scrapy是用Twisted编写的,这是一种流行的事件驱动网络 Python的框架。因此,它使用非阻塞(也就是说 异步)并发代码。
因此,您应该期望订单不同。例如,如果您现在在stack调度程序上有两个挂起的请求R1和R2,其中R1位于顶部。 R1将首先由调度程序处理。但由于R2几乎可以同时处理,因此可以比R1更快地输出。如果您希望订单设置为CONCURRENT_REQUESTS
或CONCURRENT_REQUESTS_PER_DOMAIN
。要检查输出中有不同数量项目的原因,您可以删除response.url
。