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,
})
相關文章
相關標籤/搜索