第一章 urllib數據挖掘 2.3何構建多個User-Agent

2.3如何構建多個User-Agent

from urllib import request
import random
import re#導入正則表達式
url = r'https://mini.eastday.com/?qid=msnxinwen'#爬取新聞頭條
#構造請求頭
#實際爬蟲中,我們需要多次爬取,而服務器識別到多次請求都來於一個User-Agent,就會鉶攔截,因此我們可以構造多個請求頭
agent1="Mozilla / 5.0(WindowsNT10.0;Win64;x64) AppleWebKit / 537.36(KHTML, likeGecko) Chrome / 64.0.3282.140Safari / 537.36Edge / 18.17763"
agent2="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36 Edge/18.17763"
agent3="Mozilla/5.0 (Windows NT 6.2) AppleWebKit/536.3 (KHTML, like Gecko) Chrome/19.0.1061.0 Safari/536.3",
agent4="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/535.24 (KHTML, like Gecko) Chrome/19.0.1055.1 Safari/535.24",
agent5="Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/535.24 (KHTML, like Gecko) Chrome/19.0.1055.1 Safari/535.24",
#構建一個列表
list = [agent1,agent2,agent3,agent4,agent5]
agent=random.choice(list)#隨機選擇list中的一個值
header={"User-Agent":agent}
#創建自定義請求對象,以對抗反爬
#反爬機制:判斷是否是瀏覽器訪問
#我們可以通過僞裝成瀏覽器進行爬蟲
req = request.Request(url,headers=header)
response = request.urlopen(req).read().decode()#解碼。。。。編碼encode()
print(response)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章