• 選擇我們,所有數據都是你的!

    服務熱線:029-87553281

    聯系我們

    029-87553281(陜西 西安)

    13389148466 或 13571845363

    1649677458 或 181697466

    hello@webscraping.cn

    歡迎咨詢,點擊這里給我發送消息。 歡迎咨詢,點擊這里給我發送消息。

    技術文章

    如何突破防采集策略-限制訪問頻率

    發布時間:2013-06-02

     目前常見的Web反采集策略大概有以下幾種:

    • 1)數據加密;
    • 2)限制訪問頻率;
    • 3)數據以非文本形式展現;
    • 4)驗證碼保護;
    • 5)Cookie驗證;

    本文主要探討一下如何突破”限制訪問頻率”:

    “限制訪問頻率”的原理:

    服務器端程序(例如,WAF)維護了一個客戶端(IP)的訪問計數,如果客戶端(IP)請求頻率超過閾值,請求就會被攔截,通常會出現下列情形:

    • 1)最常見的:返回403或503錯誤。
    • 2)連接被重置。
    • 3)最令人頭疼的:返回無效的內容
       
    突破方法:
    • 1)使用HTTP代理。因為服務端是根據IP進行限制的,通過使用代理就可以將下載量平均到多個IP上。需要注意的是透明代理往往是無效的,因為WAF能夠檢測到真實的源IP,所以要使用隱秘(secret)代理。
    • 2)增加請求延遲。比如,WAF限制單IP請求頻率不能超過20次/分鐘,我們可以在兩次請求之間增加5S的延遲,這樣下載頻率就是12次/分鐘,就不會被攔截了。
      通常我們會將1)和2)的方法結合,這樣即能防止被攔截,又能加快采集速度。例如,使用10個代理,每次下載增加5S延遲,一分鐘的實際下載量就是:120次。
    • 3)利用搜索引擎緩存(Google,Bing,百度)?!扒€救國”策略,繞過目標服務器,從搜索引擎的緩存進行采集。而且緩存里的頁面的結構和原頁面是一樣的,不用重寫提取規則。
    • 4)谷歌翻譯。讓谷歌作為我們的“代理”,將源語言和目標語言都設置成一樣,這樣從谷歌翻譯結果獲取的數據和原頁面就是一樣的(注意,HTML結構有很大變化,需要重寫提取規則)。
    • 5)對于返回無效內容的情況,一定要找到檢測內容是否有效的方法,否則很難保證所有數據都是正確的。
    例如,美餐網的菜單,如果采集過快返回的菜單項目就是隨機的,如下圖所示:
     
    上圖是正常數據
     
    上圖是無效數據
     
    鯤鵬數據的技術人員通過仔細分析頁面源碼,最后發現了規律:正常頁面的菜單項ID基本上都是連續的,而隨機內容的菜單項ID是隨機的。
    基于這一特征我們就能用程序檢測出返回的內容是否有效,只處理有效的數據,無效的內容進行重新采集。
    国产精品自在线拍国产手机版 日本少妇人妻xxxxx18 欧美老熟妇按摩视频 日韩精品无码视频免费专区|久久久久A亚洲V无码专区首页|2021国产精品午夜久久|国产欧美日韩高清在线不卡