在請求頭中把User-Agent設置成瀏覽器中的User-Agent,來偽造瀏覽器訪問。比如:
headers = {'User-Agent':'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36'} resp = requests.get(url,headers = headers)
# 比如: time.sleep(random.randint(0,3)) # 暫停0~3秒的整數秒,時間區間:[0,3] # 或: time.sleep(random.random()) # 暫停0~1秒,時間區間:[0,1)
若從瀏覽器中可以正常訪問一個頁面,則可以將瀏覽器中的cookies復制過來使用,比如:
cookies = dict(uuid='b18f0e70-8705-470d-bc4b-09a8da617e15',UM_distinctid='15d188be71d50-013c49b12ec14a-3f73035d-100200-15d188be71ffd') resp = requests.get(url,cookies = cookies)
# 把瀏覽器的cookies字符串轉成字典 def cookies2dict(cookies): items = cookies.split(';') d = {} for item in items: kv = item.split('=',1) k = kv[0] v = kv[1] d[k] = v return d
注:用瀏覽器cookies發起請求后,如果請求頻率過于頻繁仍會被封IP,這時可以在瀏覽器上進行相應的手工驗證(比如點擊驗證圖片等),然后就可以繼續正常使用該cookies發起請求。
可以換著用多個代理IP來進行訪問,防止同一個IP發起過多請求而被封IP,比如:
proxies = {'http':'http://10.10.10.10:8765','https':'https://10.10.10.10:8765'} resp = requests.get(url,proxies = proxies) # 注:免費的代理IP可以在這個網站上獲取:http://www.xicidaili.com/nn/
【推薦課程:Python視頻教程】
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com