站長資訊網(wǎng)
        最全最豐富的資訊網(wǎng)站

        Python詳細(xì)解析之多線程爬蟲與常見搜索算法

        本篇文章給大家?guī)砹岁P(guān)于python的相關(guān)知識,其中主要介紹了關(guān)于多線程爬蟲開發(fā)以及常見搜索算法的相關(guān)問題,下面一起來看一下,希望對大家有幫助。

        Python詳細(xì)解析之多線程爬蟲與常見搜索算法

        推薦學(xué)習(xí):python視頻教程

        多線程爬蟲

        多線程的優(yōu)勢

        在掌握了requests與正則表達(dá)式以后,就可以開始實(shí)戰(zhàn)爬取一些簡單的網(wǎng)址了。
        但是,此時的爬蟲只有一個進(jìn)程、一個線程,因此稱為單線程爬蟲。單線程爬蟲每次只訪問一個頁面,不能充分利用計(jì)算機(jī)的網(wǎng)絡(luò)帶寬。一個頁面最多也就幾百KB,所以爬蟲在爬取一個頁面的時候,多出來的網(wǎng)速和從發(fā)起請求到得到源代碼中間的時間都被浪費(fèi)了。如果可以讓爬蟲同時訪問10個頁面,就相當(dāng)于爬取速度提高了10倍。為了達(dá)到這個目的,就需要使用多線程技術(shù)了。

        Python這門語言,有一個全局解釋器鎖(Global Interpreter Lock, GIL)。這導(dǎo)致Python的多線程都是偽多線程,即本質(zhì)上還是一個線程,但是這個線程每個事情只做幾毫秒,幾毫秒以后就保存現(xiàn)場,換做其他事情,幾毫秒后再做其他事情,一輪之后回到第一件事上,恢復(fù)現(xiàn)場再做幾毫秒,繼續(xù)換……微觀上的單線程,在宏觀上就像同時在做幾件事。這種機(jī)制在I/O(Input/Output,輸入/輸出)密集型的操作上影響不大,但是在CPU計(jì)算密集型的操作上面,由于只能使用CPU的一個核,就會對性能產(chǎn)生非常大的影響。所以涉及計(jì)算密集型的程序,就需要使用多進(jìn)程,Python的多進(jìn)程不受GIL的影響。爬蟲屬于I/O密集型的程序,所以使用多線程可以大大提高爬取效率。

        多進(jìn)程庫:multiprocessing

        multiprocessing本身是Python的多進(jìn)程庫,用來處理與多進(jìn)程相關(guān)的操作。但是由于進(jìn)程與進(jìn)程之間不能直接共享內(nèi)存和堆棧資源,而且啟動新的進(jìn)程開銷也比線程大得多,因此使用多線程來爬取比使用多進(jìn)程有

        贊(0)
        分享到: 更多 (0)
        網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號
        主站蜘蛛池模板: 中文字幕久久精品| 精品乱码久久久久久久| 精品免费人成视频app| 精品国产亚洲一区二区在线观看| 国语自产拍精品香蕉在线播放| 亚洲国产精品无码中文字| 国产精品永久免费视频| 51午夜精品免费视频| 少妇人妻无码精品视频| 无码精品第一页| 欧美精品成人3d在线| 国产亚洲午夜高清国产拍精品| 亚洲视频精品在线| 免费91麻豆精品国产自产在线观看| 国产精品一区二区av| 少妇人妻偷人精品免费视频| 亚洲精品午夜国产VA久久成人| 蜜臀AV无码国产精品色午夜麻豆| 国产精品免费久久| 51国偷自产精品一区在线视频| 国产日韩精品在线| 国产成人精品天堂| 98视频精品全部国产| 久久久久女人精品毛片| 人人妻人人澡人人爽人人精品电影| 在线精品无码字幕无码AV| 无码精品人妻一区二区三区免费 | 亚洲日韩精品A∨片无码| 麻豆国产精品VA在线观看不卡| 久久精品国产一区二区电影| 精品欧美一区二区在线看片| 国产午夜精品久久久久九九| 国产精品美女网站| 国产精品亚洲一区二区在线观看| 丰满人妻熟妇乱又伦精品劲| 国产精品无码素人福利不卡| 国产精品日日摸夜夜添夜夜添1国产精品va欧美精 | 久久精品午夜一区二区福利| 精品无码一区二区三区爱欲| 国产精品污WWW在线观看| 2020久久精品国产免费|