• <th id="bb20k"></th>
    1. <th id="bb20k"></th>
      1. <th id="bb20k"></th>
        <progress id="bb20k"></progress>

        您的位置:新聞資訊 >文章內容
        如何寫爬蟲?python爬蟲框架有哪些?
        來源:互聯網 作者:admin 時間:2018-11-30 15:31:08

        獲取互聯網數據,需要使用爬蟲去采集,那么如何寫爬蟲呢?python容易學,非常適合寫爬蟲,大部分都是使用這個語言,那么python爬蟲框架有哪些?使用合適的爬蟲框架,采集效果會更好,每個爬蟲框架優缺點不同,下面精靈代理為大家分享一下python爬蟲框架有哪些。


        下文把Slaver比作工人,把Master比作工頭,一起來看看不同的爬蟲框架都有什么樣的效果:


        爬蟲框架設計方法1:工人遇到新任務時詢問工頭此任務是否有人做了,沒有的話工人就將此任務加到自己的“行程表”。


        python爬蟲框架有哪些


        Master中只有一個集合,它只有查詢的作用。Slaver在遇到新任務時詢問Master此任務是否已爬,如果未爬則加入Slaver自己的待爬隊列中,Master把此任務記為已爬。它和策略一比較像,但明顯比策略一簡單。策略一的簡單是因為有scrapy-redis實現了scheduler中間件,它并不適用于非scrapy框架的爬蟲。


        優點: 實現簡單,非scrapy框架的爬蟲也適用。Master端壓力比較小,Master與Slaver的數據交流也不大。


        缺點: “健壯性”不夠,需要另外定時保存待爬隊列以實現“斷點續爬”功能。各Slaver的待爬任務不通用。


        爬蟲框架設計方法2:工頭去找新任務,工人只管從工頭那里領任務干活。


        python爬蟲框架有哪些


        這是對策略的一種優化改進:在Master端跑一個程序去生成任務(Request/url/ID)。Master端負責的是生產任務,并把任務去重、加入到待爬隊列。Slaver只管從Master端拿任務去爬。


        優點: 將生成任務和抓取數據分開,分工明確,減少了Master和Slaver之間的數據交流;Master端生成任務還有一個好處就是:可以很方便地重寫判重策略(當數據量大時優化判重的性能和速度還是很重要的)。


        缺點: 像QQ或者新浪微博這種網站,發送一個請求,返回的內容里面可能包含幾十個待爬的用戶ID,即幾十個新爬蟲任務。但有些網站一個請求只能得到一兩個新任務,并且返回的內容里也包含爬蟲要抓取的目標信息,如果將生成任務和抓取任務分開反而會降低爬蟲抓取效率。畢竟帶寬也是爬蟲的一個瓶頸問題,我們要秉著發送盡量少的請求為原則,同時也是為了減輕網站服務器的壓力,要做一只有道德的Crawler。所以,視情況而定。


        爬蟲框架設計方法3:工人遇到新任務都上報給工頭,需要干活的時候就去工頭那里領任務。


        python爬蟲框架有哪些


        Slaver端從Master端拿任務(Request/url/ID)進行數據抓取,在抓取數據的同時也生成新任務,并將任務拋給Master。Master端只有一個Redis數據庫,負責對Slaver提交的任務進行去重、加入待爬隊列。


        優點: scrapy-redis默認使用的就是這種策略,我們實現起來很簡單,因為任務調度等工作scrapy-redis都已經幫我們做好了,我們只需要繼承RedisSpider、指定redis_key就行了。


        缺點: scrapy-redis調度的任務是Request對象,里面信息量比較大(不僅包含url,還有callback函數、headers等信息),導致的結果就是會降低爬蟲速度、而且會占用Redis大量的存儲空間。當然我們可以重寫方法實現調度url或者用戶ID。


        關于python爬蟲框架有哪些,上文介紹了三種爬蟲框架設計,建議根據項目的需求選擇和適合的框架使用。


        相關文章內容簡介
        代理IP:網絡世界的隱身大法
        精靈代理-隨著互聯網技術的穩步發展和提升,代理IP這一工具類產品成為了許多互聯網人的必備工具。在當今數字化時代,互聯網已經成為了人們日常生活中不可或缺的一部分。人們通過網絡可以獲取各種信息、進行交流、購物、娛樂等各種活動。然而,隨之而來的是網絡安全和隱私問題,如何在網絡上保護自己的隱私成為了人們關注的焦點。代理IP的使用范圍非常廣泛,在商業領域中,代理IP可以用于數據采集、網絡爬蟲等需要頻繁訪問網站的工作中,通過切換代理IP可以規避網站的反爬蟲機制,提高數據采集的效率。在個人用戶中,代理IP可以用于訪問一些被封鎖的網站、規避地區限制等,讓用戶可以更加自由地訪問互聯網。此外,代理IP還可以用于保護用戶的隱私和安全。在一些公共網絡中,用戶的信息很容易被竊取,通過使用代理IP可以加密用戶的數據傳輸,保護用戶的隱私不被泄露。同時,代理IP還可以防止一些網絡攻擊,如DDoS攻擊等,提升用戶在網絡上的安全性。然而,盡管代理IP在網絡隱私保護方面有著諸多優勢,但也存在一些問題。例如,部分免費代理IP可能存在安全隱患,用戶在使用時需要謹慎選擇。同時,代理IP也可...[閱讀全文]
        在線咨詢
        微信公眾號

        微信公眾號

        回到頂部
        国产欧美 一区,国产一本大道香蕉AV,国产亚洲卡通另类图片,国产高清AV在线