在爬蟲爬取網站的過程中,難免遇到網站通過useragent驗證是否爲正常用戶。可以自己維護一個ua列表,但是爲了方便,我們可以使用一個python三方庫fake_useragent來隨機生成ua,具體步驟如下:
( 1 ) 安裝fake_useragent
pip install fake_useragent
( 2 )用法
引入,生成實例:
from fake_useragent import UserAgent
ua = UserAgent()
#ie瀏覽器的user agent
print(ua.ie)
#opera瀏覽器
print(ua.opera)
#chrome瀏覽器
print(ua.chrome)
#firefox瀏覽器
print(ua.firefox)
#safri瀏覽器
print(ua.safari)
#最常用的方式
#寫爬蟲最實用的是可以隨意變換headers,一定要有隨機性。支持隨機生成請求頭
print(ua.random)
示例:
from urllib.request import Request, urlopen
from fake_useragent import UserAgent
base_url = "https://movie.douban.com/j/chart/top_list?type=11&interval_id=100%3A90&action=&start={}&limit=20"
i = 0
while True:
headers = {
#設置chrome的 "User-Agent"
"User-Agent": UserAgent().chrome
}
url = base_url.format(i * 20)
request = Request(url, headers=headers)
response = urlopen(request)
info = response.read().decode()
print(info)
if info == "" or info is None:
break
i += 1