Colly的默认配置是为在一个做业中抓取少许站点而优化的。若是您想爬行数百万个站点,这种设置不是最好的。如下是一些调整:git
默认状况下,Colly将cookie和访问过的url存储在内存中。您能够用任何自定义后端替换内置的内存存储后端。详情请点击这里。github
默认状况下,Colly在请求未完成时阻塞,所以递归调用Collector。回调访问产生不断增加的堆栈。收集器。Async = true这是能够避免的。(不要忘记在async中使用c.Wait()。)后端
Colly使用HTTP keep-alive来提升抓取速度。它须要打开文件描述符,所以长时间运行的做业很容易达到max-fd限制。cookie
HTTP Keep-alive能够经过如下代码禁用:异步
c := colly.NewCollector() c.WithTransport(&http.Transport{ DisableKeepAlives: true, })