我需要帮助定义一个工具的架构,该工具每天会抓取1000多个大型网站以获取新的更新.
我打算在这个项目中使用Scrapy:
谢谢!
Sha*_*ans 10
Scrapy是这个项目的绝佳选择.有关抓取许多(数百万)个网站的一些具体建议,请参阅有关广泛爬网的文档,但只有1000个网站不太重要.您应该只使用一个项目和一个蜘蛛 - 不要生成项目!要么不定义allowed_domains属性,要么确保它仅限于当前正在爬网的域集.您可能希望拆分域,以便每个进程仅爬网子集,允许您并行化爬网.
您的蜘蛛需要遵循当前域中的所有链接,这是一个跟随所有链接的示例蜘蛛,以防它有帮助.我不确定你要对raw html做什么处理.您可能希望限制每个站点的页面深度或数量(例如,使用深度中间件).
关于重新访问网站,请参阅delatafetch中间件作为如何仅获取新URL的示例.也许你可以从那开始并自定义它.