抓取并监控+1000个网站

The*_*Guy 1 python scrapy

我需要帮助定义一个工具的架构,该工具每天会抓取1000多个大型网站以获取新的更新.

我打算在这个项目中使用Scrapy:

  • 为Scrapy提供每个网站的项目,我如何处理1000多个网站并将其与Scrapy一起存储在一个项目中?我尝试添加项目生成器,但这是个好主意吗?
  • 我如何判断一个网站是否更新了新内容,以便我可以再次删除它?

谢谢!

Sha*_*ans 10

Scrapy是这个项目的绝佳选择.有关抓取许多(数百万)个网站的一些具体建议,请参阅有关广泛爬网文档,但只有1000个网站不太重要.您应该只使用一个项目和一个蜘蛛 - 不要生成项目!要么不定义allowed_domains属性,要么确保它仅限于当前正在爬网的域集.您可能希望拆分域,以便每个进程仅爬网子集,允许您并行化爬网.

您的蜘蛛需要遵循当前域中的所有链接,这是一个跟随所有链接的示例蜘蛛,以防它有帮助.我不确定你要对raw html做什么处理.您可能希望限制每个站点的页面深度或数量(例如,使用深度中间件).

关于重新访问网站,请参阅delatafetch中间件作为如何仅获取新URL的示例.也许你可以从那开始并自定义它.