如何构建基于Scrapy的Web爬虫永远运行?

sup*_*erb 11 python web-crawler scrapy

我想构建一个基于Scrapy的网络爬虫来从几个新闻门户网站上获取新闻图片.我想这个爬虫是:

  1. 永远奔跑

    意味着它会定期重新访问一些门户页面以获取更新.

  2. 安排优先事项

    为不同类型的URL提供不同的优先级.

  3. 多线程获取

我已经阅读了Scrapy文档,但没有找到与我列出的相关的东西(也许我不够谨慎).这里有人知道怎么做吗?或者只是给出一些关于它的想法/例子.谢谢!

msw*_*msw 12

Scrapy是一个网站抓取的框架,因此,它旨在支持您的标准,但它不会为您提供开箱即用的舞蹈; 对于某些任务,您可能需要相对熟悉该模块.

  1. 永远运行取决于您的应用程序调用Scrapy.你告诉蜘蛛去哪里以及何时去那里.
  2. 优先级是Scheduler中间件的工作,您必须创建并插入Scrapy.关于这个的文档似乎参差不齐,我没有看过代码 - 原则上功能就在那里.
  3. Scrapy本质从根本上是异步的,这可能是你想要的:请求B可以满足,而请求A仍然是未完成的.底层连接引擎不会阻止您进行真正的多线程,但Scrapy不提供线程服务.

Scrapy是一个库,而不是一个应用程序.模块的用户需要进行大量的工作(代码).