pyspider 监控控40多个网站,要每五分钟这些url都跑一遍,是用auto_recrawl这个参数对么?
40多个网站,每个网站现在大概有几千url需要监控,现在我在需要监控的页面加上了auto_recrawl=true参数,
但是发现效果并不好,每个网站的一部分需要监控的url能够五分钟跑完,剩下的可能很久都跑不到,有可能几天,几小时都跑不到。但我发现使用every 不加auto_recrawl 参数,这个五分钟监控时间就无法保证。
大家有什么好办法,万分感谢
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果你这几千 url 是固定的,不需要发现的,可以毎5分钟触发 on_start, 在 on_start 里面发起调度。如果需要发现,用 auto_recrawl 是可以的。
retry 建议设置小于等于 1,或者设置 retry_delay 小于 5 分钟,不然请求失败会延迟重试,延迟有可能大于5分钟。
最后要注意你的请求速度,是不是满足5分钟抓完这几千 url,如果不能,抓取顺序是没有保证的,会有可能有 url 一直轮不到。
5分钟跑不完当然就会有跑不到的了,加速度、加fetcher,直到能保证5分钟能妥妥跑完一圈为止。