目標網站反爬基礎知識

mmz_77發表於2021-11-03

今天是一篇關於目標網站的反爬機制和破解方法大分享首選我們需要知道什麼是爬蟲和反爬蟲以及?
爬蟲:使用任何技術手段,批量獲取網站資料的一種方式。反爬蟲:目標網站使用技術手段,阻止別人批量獲取自己網站資訊的一種方式。
反爬蟲的一些手段
(1) Headers and referer 反爬機制:headers進行反爬是最常見的反爬蟲策略。還有一些網站會對 Referer (上級連結)進行檢測,這些需要我們在爬蟲過程中去分析,
(2)p限制
目標網站限制ip訪問頻率和次數進行反爬,這是最基本的反爬策略也是最容易解決的。
解決措施:可以自己搭建ip池,但是成本太大不推薦,最簡單的是直接購買代理ip服務,像億牛雲、、、、等專門提供代理ip的。
(3) UA限制
UA是使用者訪問網站時候的瀏覽器標識.
解決措施,構建自己的UA池,每次python做requests訪問時隨機掛上UA標識,更好的模擬瀏覽器行為.
以上都是一些最基本的反爬策略,一般的網站只要做好了這三方面的策略都是沒有問題的,比較大型的網站就需要做更復雜的策略。
分享一段簡直的爬蟲程式新增代理的示例,有這方面需要的小夥伴可以嘗試看下。

Plain Text
複製程式碼
#! -*- encoding:utf-8 -*-    import requests    import random    # 要訪問的目標頁面    targetUrl = "要訪問的目標HTTPS頁面    # targetUrl = "代理伺服器(產品官網 )    proxyHost = "t.16yun.cn"    proxyPort = "31111"    # 代理驗證資訊    proxyUser = "username"    proxyPass = "password"    proxyMeta = "http://%(user)s:%(pass)s@%(host)s:%(port)s" % {        "host" : proxyHost,        "port" : proxyPort,        "user" : proxyUser,        "pass" : proxyPass,    }    # 設定 http和https訪問都是用HTTP代理    proxies = {        "http"  : proxyMeta,        "https" : proxyMeta,    }    #  設定IP切換頭    tunnel = random.randint(1,10000)    headers = {"Proxy-Tunnel": str(tunnel)}    resp = requests.get(targetUrl, proxies=proxies, headers=headers)    print resp.status_code    print resp.text


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31522063/viewspace-2840442/,如需轉載,請註明出處,否則將追究法律責任。

相關文章