colly Crawler 配置 ##9

Crawler  配置

Colly的默认配置是为在一个作业中抓取少量站点而优化的。如果您想爬行数百万个站点,这种设置不是最好的。以下是一些调整:

使用持久存储后端

默认情况下,Colly将cookie和访问过的url存储在内存中。您可以用任何自定义后端替换内置的内存存储后端。详情请点击这里

使用异步处理递归调用的长时间运行的工作

默认情况下,Colly在请求未完成时阻塞,因此递归调用Collector。回调访问产生不断增长的堆栈。收集器。Async = true这是可以避免的。(不要忘记在async中使用c.Wait()。)

禁用或限制连接keep-alive

Colly使用HTTP keep-alive来提高抓取速度。它需要打开文件描述符,因此长时间运行的作业很容易达到max-fd限制。

HTTP Keep-alive可以通过以下代码禁用:

c := colly.NewCollector()
c.WithTransport(&http.Transport{
    DisableKeepAlives: true,
})

  

原文地址:https://www.cnblogs.com/liujie-php/p/11571153.html