colly Crawler 配置 ##9

Crawler  配置

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

使用持久存储后端

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

 

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

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

 

禁用或限制链接keep-alive

Colly使用HTTP keep-alive来提升抓取速度。它须要打开文件描述符,所以长时间运行的做业很容易达到max-fd限制。cookie

HTTP Keep-alive能够经过如下代码禁用:异步

c := colly.NewCollector()
c.WithTransport(&http.Transport{
    DisableKeepAlives: true,
})
相关文章
相关标签/搜索