亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

python 爬蟲 解析效率如何提升?

python 爬蟲 解析效率如何提升?

慕少森 2018-10-05 14:35:02
現在采用的是在windows 環境下 采用多線程的方式進行爬取,使用beautifulsoup+lxml進行解析.N個爬取線程->解析隊列->1個解析線程->存儲隊列->1個存儲線程整個執行程序的效率卡在計算密集的解析線程中,如果只是增加解析線程數量的話,反而增加線程切換開銷速度變慢。請問下 有什么辦法可以較為明顯的提升解析效率?根據兩位大腿的說明 準備采用異步爬取->解析隊列->N個解析進程->存儲隊列->存儲線程準備開工
查看完整描述

2 回答

?
幕布斯6054654

TA貢獻1876條經驗 獲得超7個贊

我的做法是多進程。多進程的好處是當單機性能不夠的時候,可以隨時切換為分布式爬蟲。

查看完整回答
反對 回復 2018-10-14
?
吃雞游戲

TA貢獻1829條經驗 獲得超7個贊

其實我覺得, 你在前面N個爬取線程 可以換成協程/線程池實現, 因為你在頻繁創建線程本省一種性能耗費, 用線程池雖然可以減少這部分的損耗, 但是上下文切換還是無法避免, 所以協程這方面, 應該是比較合適的.
1個解析線程 換成 進程池,多開幾個進程去計算密集處理, 其余應該可以不用改, 如果還想再搞, 將核心部分用c/c++ 重寫咯, 希望可以幫到你

查看完整回答
反對 回復 2018-10-14
  • 2 回答
  • 0 關注
  • 1113 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號