在爬虫爬取网站的过程中,难免遇到网站通过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