标签: mathematical-optimization
我有兴趣定期抓一个特定的网站,上面有大约1亿个项目。刮刀可以非常快速地下载和处理物品,大约50ms,但即使以这个速度完成也需要数天才能完成。
显而易见的解决方案是使用多个刮刀。但是,在某些时候,底层的Web服务将变得饱和,并开始变慢。我希望尊重服务而不是DDoS,同时尽可能高效地进行刮擦。
这显然是一个优化问题,但我不确定如何进行建模。理想情况下,我需要知道刮刀的数量,以及每个刮刀的目标延迟。有什么想法吗?
答案 0 :(得分:2)
您可以试用URL frontier approach进行抓取。
有一个名为Frontera的Python库实现了相同的方法。
免责声明:我不支持/宣传Frontera,也不以任何方式与之相关。