colly Crawler 配置 ##9

天大地大妈咪最大 提交于 2019-11-30 07:10:49

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,
})

  

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!