站長資訊網
        最全最豐富的資訊網站

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

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

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

        推薦學習:python視頻教程

        多線程爬蟲

        多線程的優勢

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

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

        多進程庫:multiprocessing

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

        贊(0)
        分享到: 更多 (0)
        網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
        主站蜘蛛池模板: 欧美亚洲日本久久精品| 亚洲国产综合精品中文字幕| 精品97国产免费人成视频| 国精品无码一区二区三区在线| 国内精品欧美久久精品| 欧美国产亚洲精品高清不卡| 日韩精品无码专区免费播放| 欧美ppypp精品一区二区| 国产成人精品久久| 精品少妇一区二区三区视频| 国内精品久久久久久99蜜桃| 亚洲国产精品成人精品无码区| 国精品无码A区一区二区| 欧美精品免费观看二区| 97久久超碰国产精品旧版| 久热这里只有精品12| 中文字幕在线精品视频入口一区| 久久国产精品无码网站| 国产精品亚洲欧美大片在线看 | 亚洲精品无码久久久影院相关影片| 国产AⅤ精品一区二区三区久久| 精品国产美女福利到在线不卡| 国产精品无码成人午夜电影| 精品无码无人网站免费视频 | 四虎精品成人免费永久| 国产精品久久久久久影院| 9久久9久久精品| www国产精品| 国产精品成人不卡在线观看| 18国产精品白浆在线观看免费| 国产精品久久久亚洲| 国产成人A人亚洲精品无码| 国产精品日韩AV在线播放| 国语自产少妇精品视频| 2020亚洲男人天堂精品| 992tv精品视频tv在线观看| 99re这里只有精品国产精品| 国产精品1区2区3区在线播放| 精品国产品香蕉在线观看75| 99久久国产主播综合精品 | 久久ww精品w免费人成|