首頁技術(shù)文章正文

寫爬蟲是用多進(jìn)程還是多線程?

更新時(shí)間:2021-05-21 來源:黑馬程序員 瀏覽量:

1577370495235_學(xué)IT就到黑馬程序員.gif

一般情況下,在選擇是使用多進(jìn)程還是多線程時(shí),主要考慮的業(yè)務(wù)到底是IO密集型(多線程)還是計(jì)算密集型(多進(jìn)程)。在爬蟲中,請求的并發(fā)業(yè)務(wù)屬于是網(wǎng)絡(luò)的IO類型業(yè)務(wù),因此網(wǎng)絡(luò)并發(fā)適宜使用多線程;但特殊需求下,比如使用phantomjs 或者chrome-headless來抓取的爬蟲,應(yīng)當(dāng)是多進(jìn)程的,因?yàn)槊恳粋€(gè)phan/chro實(shí)例就是一個(gè)進(jìn)程了,并發(fā)只能是多進(jìn)程。此外爬蟲中還是數(shù)據(jù)處理業(yè)務(wù),如果數(shù)據(jù)處理業(yè)務(wù)是一個(gè)比較耗時(shí)的計(jì)算型操作,那么對數(shù)據(jù)處理部分應(yīng)當(dāng)設(shè)為多進(jìn)程,但更多可能會考慮將該部分?jǐn)?shù)據(jù)處理操作和爬蟲程序解耦,也就是先把數(shù)據(jù)抓取下來,事后單獨(dú)運(yùn)行另外的程序解析數(shù)據(jù)。


以下是黑馬程序員近期推出的Python興趣課程,3天入門Python,體驗(yàn)Python的魅力!

0基礎(chǔ)Python3天入門課程

   ·了解Python主流就業(yè)方向,把握最新熱點(diǎn)技術(shù)
   ·掌握Python的基礎(chǔ)語法及API調(diào)用
   ·能夠使用Python對數(shù)據(jù)獲取、使用和展示
   ·打造自己的數(shù)據(jù)分析項(xiàng)目并自動生成工作報(bào)告

Python零基礎(chǔ)3天課程


分享到:
在線咨詢 我要報(bào)名
和我們在線交談!