WordPress课程广告

Python爬虫:设置随机User-Agent模块fake-useragent

释放双眼,带上耳机,听听看~!

Python爬虫:设置随机User-Agent模块fake-useragent介绍和使用。

模块简介

GitHub地址

https://github.com/hellysmile/fake-useragent

UA数据来源

目前1.5x的版本我看GitHub介绍数据是从 https://user-agents.net/ 下载的。下面的使用的部分示例是1.2或者1.3版本新增的功能,如果你在使用旧版本,建议升级。

不过之前不知道是GitHub还是其他地方看见介绍说是从useragentstring.comBrowser Statisticsw3schools.com和获取的相关User-Agent数据。(印象中之前的源码确实有这两个URL)

比较久之前看见的,也不深究了,也没实际意义嘛,但是之所以又写再这里,是当做一个User-Agent数据来源,有需要的就可以访问自取。

安装使用

安装模块

pip install fake-useragent

更新模块

pip install -U fake-useragent

更多模块管理的pip命令你可以看这篇文章:Python虚拟环境使用#使用pip管理包

模块使用

查看版本

import fake_useragent
print(fake_useragent.VERSION)

生成随机UA

# 导入模块
from fake_useragent import UserAgent

# 实例化
ua = UserAgent()

# 生成随机UA
# 使用ua.random 方法,既可以随机生成各种浏览器的 UA。
uaeragent = ua.random
print(ua)
# 使用for循环生成十个随机useragent
for i in range(10):
    print(ua.random)

生成指定浏览器随机UA


# 导入模块
from fake_useragent import UserAgent

# 实例化
ua = UserAgent()

# 可以指定自己的浏览器列表,可以通过参数browsers(默认值为:browsers["chrome", "edge", "internet explorer", "firefox", "safari", "opera"])执行此操作。
# 指定获取edge Chrome
ua = UserAgent(browsers=['edge', 'chrome'])
# 在 Fakeuser-agent GitHub 的介绍中 目前的浏览器数据有 Chrome、Edge、Firefox 和 Safari。其他不流行的浏览器则不再它的数据中。
ua.random

直接获取单个浏览器UA


# 导入模块
from fake_useragent import UserAgent

# 实例化
ua = UserAgent()

ua.chrome # chrome浏览器
# Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.2 (KHTML, like Gecko) Chrome/22.0.1216.0 Safari/537.2'


# 其他浏览器
ua.google
# Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_4) AppleWebKit/537.13 (KHTML, like Gecko) Chrome/24.0.1290.1 Safari/537.13
ua['google chrome']
# Mozilla/5.0 (X11; CrOS i686 2268.111.0) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1132.57 Safari/536.11
ua.firefox
# Mozilla/5.0 (Windows NT 6.2; Win64; x64; rv:16.0.1) Gecko/20121011 Firefox/16.0.1
ua.ff
# Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:15.0) Gecko/20100101 Firefox/15.0.1
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
过时用法

在新版本中(我目前1.5.1)下面站这些浏览器数据已经没有了,如果使用会得到类似错误:Error occurred during getting browser: ie, but was suppressed with fallback.并返回一个最新版本的UA信息

print(ua.ie) # ie浏览器
# Mozilla/5.0 (Windows; U; MSIE 9.0; Windows NT 9.0; en-US);
print(ua.msie)
# Mozilla/5.0 (compatible; MSIE 10.0; Macintosh; Intel Mac OS X 10_7_3; Trident/6.0)'
print(ua['Internet Explorer'])
# Mozilla/5.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; GTB7.4; InfoPath.2; SV1; .NET CLR 3.3.69573; WOW64; en-US)
print(ua.opera)
# Opera/9.80 (X11; Linux i686; U; ru) Presto/2.8.131 Version/11.11
print(ua.ie)
print(ua.msie)
print(ua['Internet Explorer'])
print(ua.opera)
运行结果

指定操作系统

如果需要指定操作系统,通过参数os设置:

from fake_useragent import UserAgent
# 只会获得 Linux UA:
ua = UserAgent(os='linux') # 默认值 os["windows", "macos", "linux"]
print(ua.random)

指定设备类型

如果需要指定设备类型,通过参数platforms设置:

from fake_useragent import UserAgent
# 只获取移动设备UA
ua = UserAgent(platforms='mobile') # 默认值 platforms["pc", "mobile", "tablet"]
print(ua.random)

异常解决

下面是在使用fake-useragent模块遇见异常和解决办法,如果你出现对应的情况可以参考:

fake-useragent模块报错:rror occurred during loading data. Trying to use cache server解决方法

更多问题和用法可访问GitHub查看官方文档解决。

给TA打赏
共{{data.count}}人
人已打赏
PycharmPython笔记

Pycharm安装教程(非常详细)

2022-4-4 0:34:04

Python笔记

Python os.walk() 方法

2022-5-4 11:44:57

WordPress网站建设宣传图片
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索
展开目录