伪装请求头-简单实用的fake-useragent库

/ 0评 / 0

前几天意外找到一个简单实用的库- fake-useragent,可以伪装生成headers请求头中的User Agent值。

安装

pip3 install fake-useragent

如果已经安装过,记得更新下:

pip install -U fake-useragent

然后手动下载UA的缓存文件,访问地址为;

https://fake-useragent.herokuapp.com/browsers/0.1.11

目前最新版本是这个,以后可以根据版本不同再调整。

各浏览器的user-agent值

from fake_useragent import UserAgent
ua = UserAgent()
#ie浏览器的user agent
print(ua.ie)
Mozilla/5.0 (Windows; U; MSIE 9.0; Windows NT 9.0; en-US)
#opera浏览器
print(ua.opera)
Opera/9.80 (X11; Linux i686; U; ru) Presto/2.8.131 Version/11.11
#chrome浏览器
print(ua.chrome)
Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.2 (KHTML, like Gecko) Chrome/22.0.1216.0 Safari/537.2
#firefox浏览器
print(ua.firefox)
Mozilla/5.0 (Windows NT 6.2; Win64; x64; rv:16.0.1) Gecko/20121011 Firefox/16.0.1
#safri浏览器
print(ua.safari)
Mozilla/5.0 (iPad; CPU OS 6_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A5355d Safari/8536.25

最实用的

但我认为写爬虫最实用的是可以随意变换headers,一定要有随机性。在这里我写了三个随机生成user agent,三次打印都不一样,随机性很强,十分方便。

from fake_useragent import UserAgent
ua = UserAgent()
print(ua.random)
print(ua.random)
print(ua.random)
Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:15.0) Gecko/20100101 Firefox/15.0.1
Mozilla/5.0 (Windows NT 6.2; Win64; x64; rv:16.0.1) Gecko/20121011 Firefox/16.0.1
Opera/9.80 (X11; Linux i686; U; ru) Presto/2.8.131 Version/11.11

如果出现错误,用本地缓冲文件来解决

>>> from fake_useragent import UserAgent
>>> ua = UserAgent(path="./fake_useragent_0.1.11.json")
>>> ua.random
'Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.14 (KHTML, like Gecko) Chrome/24.0.1292.0 Safari/537.14'

爬虫中具体使用方法

import requests
from fake_useragent import UserAgent
ua = UserAgent(path="./fake_useragent_0.1.11.json")
headers = {'User-Agent': ua.random}
url = '待爬网页的url'
resp = requests.get(url, headers=headers)
#省略具体爬虫的解析代码,大家可以回去试试
...

发表评论

邮箱地址不会被公开。 必填项已用*标注