python爬虫和golang爬虫性能对比_Scrapy VS Golang 爬虫对比(修正)
前言
之前寫了一篇scrapy和golang爬蟲性能對比,引起了很大的爭議(就是被各位大佬噴的很慘的意思)。其中,很多人提了數據庫讀寫的問題,看到大家的評論后不久我又測了一下,把寫數據庫的那部分代碼注釋掉后,速度瞬間就快了。當時由于沒時間詳細的測試,就把文章撤了下來,最近我抽時間吧代碼整了一下,有了個新的測試,確實是數據的問題,各位可以看看。
上一篇文章的情況
爬蟲的來歷是因為團隊需要一批公司名稱的語料,先是用scrapy搭建了一個爬蟲,后面又抱著一種試一試的心態用golang復現了一個同樣的爬蟲,對比了一下爬取速度,scrapy版本的和golang版本的最終差距很大,當時就很奇怪,做了個記錄發到知乎上來了,當時的情況對比如下。
我詳細的說明一下情況,線程池方面,scrapy底層用的twisted,默認是16個concurrent requests,至于這里是線程實現還是協程實現我就不計較了。golang是goroutine,是golang自己實現的一個東西。在爬取約650w完整數據集的時候,scrapy是采用默認設置,golang是自己實現了一個job/worker模型,設了個20個worker,相當于一個worker用一個goroutine,代碼放在gayhub上。后來我又取了個較小的數據量,大約100頁,即2.5w行數據,然后將scarpy和golang的worker數都設為16對比了一下,這就是這四列數據的來歷。
另外,還需要說明一下爬取的目標,爬取目標是一個工商登記企業匯總的
總結
以上是生活随笔為你收集整理的python爬虫和golang爬虫性能对比_Scrapy VS Golang 爬虫对比(修正)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 初次联系导师短信模板_20考研复试如何联
- 下一篇: python文本分类汇总_用Python