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

        您的位置:新聞資訊 >文章內容
        怎么加快爬蟲速度?優化Python爬蟲的速度
        來源:簡書爬蟲小哥 作者:admin 時間:2018-11-22 15:57:26

            大數據的應用,許多企業都有數據采集的需求,在抓取數據時常常會遭遇各種限制,采集時間越長問題越多,關鍵是提高采集速度,那么怎么加快爬蟲速度?

            Python應該算是大家非常喜歡的爬蟲語言,而scrapy框架應該算是爬蟲模塊、框架中的佼佼者,今天我們自定義settings.py文件。

         

            scrapy項目結構

            我們自定義settings.py文件的部分設置,今天修改瀏覽器頭。理由:

            1、簡單防止反爬蟲(豆瓣....)

            2、加快爬取速度

            3、不用每次都是修改項目文件的settings.py 

            這里解釋幾個參數:

            ROBOTSTXT_OBEY = True-----------是否遵守robots.txt

            CONCURRENT_REQUESTS = 16-----------開啟線程數量,默認16

            AUTOTHROTTLE_START_DELAY = 3-----------開始下載時限速并延遲時間

            AUTOTHROTTLE_MAX_DELAY = 60-----------高并發請求時最大延遲時間

            最底下的幾個:是否啟用在本地緩存,如果開啟會優先讀取本地緩存,從而加快爬取速度,視情況而定

            HTTPCACHE_ENABLED = True

            HTTPCACHE_EXPIRATION_SECS = 0

            HTTPCACHE_DIR = 'httpcache'

            HTTPCACHE_IGNORE_HTTP_CODES = []

            HTTPCACHE_STORAGE = 'scrapy.extensions.httpcache.FilesystemCacheStorage'

            以上幾個可以視項目需要開啟,但是有兩個參數最好每次都開啟,而每次都是項目文件手動開啟不免有些麻煩,最好是項目創建后就自動開啟

            #DEFAULT_REQUEST_HEADERS = {

            #   'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',

            #   'Accept-Language': 'en',

            這個是瀏覽器請求頭,很多網站都會檢查客戶端的headers,比如豆瓣就是每一個請求都檢查headers的user_agent,否則只會返回403,可以開啟

            #USER_AGENT = 'Chirco (+http://www.yourdomain.com)'

            這個是至關重要的,大部分服務器在請求快了會首先檢查User_Agent,而scrapy默認的瀏覽器頭是scrapy1.1 我們需要開啟并且修改成瀏覽器頭,如:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/22.0.1207.1 Safari/537.1

            但是最好是這個USER-AGENT會隨機自動更換最好了。


            首先我們可以收集幾個瀏覽器頭,比如:

        怎么加快爬蟲速度?優化Python爬蟲的速度

            瀏覽器頭列表

            用隨機函數random自動更換頭,找到scrapy根目錄下:X:\Python35\Lib\site-packages\scrapy\templates\project\module

        修改的就是這個settings.py.tmpl模板文件

        每次執行scrapy startproject name 都會在這個基模版下創建settings.py文件

        怎么加快爬蟲速度

        scrapy模板文件settings.py.tmpl

        執行scrapy startproject name后看到settings.py生效了


        怎么加快爬蟲速度,優化Python爬蟲的速度

        修改模板后的settings.py文件

        現在我們來檢查一下我們剛剛的操作是否生效,這里簡單創建一個scrapy


        優化Python爬蟲的速度

        執行6次,每次打印request的頭


        爬蟲速度

        執行結果

        執行結果發現每次的瀏覽器頭都是不一樣的


        相關文章內容簡介
        解鎖高速不限量IP代理
        精靈代理-專業提供國內動態ip代理 ip加速器 http代理 網絡加速器服務。解鎖高速不限量IP代理在當今互聯網時代,隨著網絡安全和隱私保護意識的提高,許多人都開始關注如何保護自己的在線活動不受跟蹤和監視。IP代理就成為了一種常用的工具,通過隱藏真實IP地址來保護個人隱私和保密性。而高速不限量IP代理更是用戶們追求的目標。高速代理的重要性對于許多用戶來說,網絡速度是使用代理時最關鍵的問題之一。如果代理速度太慢,會導致網頁加載緩慢,甚至無法正常使用某些服務。因此,高速代理變得尤為重要。高速代理可以確保用戶在使用代理時,不會受到速度的限制,能夠正常流暢地訪問各種網站和服務。不限量代理的優勢另外,不限量的代理也是用戶們所追求的。有些代理服務提供商會對用戶的流量進行限制,一旦超出限制就會導致代理服務無法正常使用。而不限量的代理則可以避免這個問題,用戶可以隨意使用代理服務,不用擔心流量限制的問題。如何解鎖高速不限量IP代理要解鎖高速不限量IP代理,首先需要選擇一個可靠的代理服務提供商。在選擇代理服務提供商時,用戶需要注意服務商的信譽度、服務質量和價格等因素...[閱讀全文]
        在線咨詢
        微信公眾號

        微信公眾號

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