优化抓取网站的工人数量

时间:2018-02-15 17:56:45

标签: mathematical-optimization

我有兴趣定期抓一个特定的网站,上面有大约1亿个项目。刮刀可以非常快速地下载和处理物品,大约50ms,但即使以这个速度完成也需要数天才能完成。

显而易见的解决方案是使用多个刮刀。但是,在某些时候,底层的Web服务将变得饱和,并开始变慢。我希望尊重服务而不是DDoS,同时尽可能高效地进行刮擦。

这显然是一个优化问题,但我不确定如何进行建模。理想情况下,我需要知道刮刀的数量,以及每个刮刀的目标延迟。有什么想法吗?

1 个答案:

答案 0 :(得分:2)

您可以试用URL frontier approach进行抓取。

有一个名为Frontera的Python库实现了相同的方法。

免责声明:我不支持/宣传Frontera,也不以任何方式与之相关。