GitHub:随机生成 UserAgent 浏览器

2020-07-15 22:19:02 +08:00
 zhijieju

hello,小伙伴们大家好,今天给大家推荐的开源项目是:fake-useragent,这个开源项目对搞爬虫的业务的人来说是一个福利,不用去自己搭建自己的 UA 池,只需要调用对应的方法即可,简单易用,感兴趣的小伙伴不妨去下载尝试一下。

使用方法


from fake_useragent import UserAgent
ua = UserAgent()

ua.ie
# Mozilla/5.0 (Windows; U; MSIE 9.0; Windows NT 9.0; en-US);
ua.msie
# Mozilla/5.0 (compatible; MSIE 10.0; Macintosh; Intel Mac OS X 10_7_3; Trident/6.0)'
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)
ua.opera
# Opera/9.80 (X11; Linux i686; U; ru) Presto/2.8.131 Version/11.11
ua.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

# and the best one, random via real world browser usage statistic
ua.random
# Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.124 Safari/537.36

笔记


fake-useragent 将收集的数据存储在您的操作系统临时目录中,例如/tmp

如果您只想更新保存的数据库:

from fake_useragent import UserAgent
ua = UserAgent()
ua.update()

如果您不想缓存数据库或没有可写文件系统:

from fake_useragent import UserAgent
ua = UserAgent(cache=False)

有时,useragentstring.comw3schools.com 更改其 html 或向下更改,在这种情况下,fake-useragent 使用 heroku 后备

如果您不想使用托管的缓存服务器(添加了 0.1.5 版)

from fake_useragent import UserAgent
ua = UserAgent(use_cache_server=False)

在极少数情况下,如果托管的缓存服务器和源不可用,fake-useragent 将无法下载数据:(添加了 0.1.3 版)

from fake_useragent import UserAgent
ua = UserAgent()

# Traceback (most recent call last):
#   ...
# fake_useragent.errors.FakeUserAgentError

# You can catch it via

from fake_useragent import FakeUserAgentError

try:
    ua = UserAgent()
except FakeUserAgentError:
    pass

如果您尝试获取未知的浏览器:(版本 0.1.3 已更改)

from fake_useragent import UserAgent
ua = UserAgent()
ua.best_browser
# Traceback (most recent call last):
#   ...
# fake_useragent.errors.FakeUserAgentError

您可以通过添加来完全禁用任何烦人的异常 fallback:(添加了 0.1.4 版)

import fake_useragent

ua = fake_useragent.UserAgent(fallback='Your favorite Browser')
# in case if something went wrong, one more time it is REALLY!!! rare case
ua.random == 'Your favorite Browser'

要控制数据文件的位置吗?(添加了 0.1.4 版)

import fake_useragent

# I am STRONGLY!!! recommend to use version suffix
location = '/home/user/fake_useragent%s.json' % fake_useragent.VERSION

ua = fake_useragent.UserAgent(path=location)
ua.randoms

如果需要保护某些属性,以免__getattr__使用方法在 UserAgent 中覆盖某些属性,则可以在 safe_attrs 此处传递属性名称。至少这将防止您在找不到属性时引发 FakeUserAgentError 。

例如,将 fake_useragent 与注入配合使用时,您需要:

import fake_useragent

ua = fake_useragent.UserAgent(safe_attrs=('__injections__',))

请不要使用,如果您不明白为什么需要它。这在极少数情况下是不可思议的。

遇到问题???

确保您使用的是最新版本!

pip install -U fake-useragent

通过 python 控制台检查版本:(添加了 0.1.4 版)

import fake_useragent

print(fake_useragent.VERSION)

安装


pip install fake-useragent

开源地址: https://github.com/hellysmile/fake-useragent

今天的推荐不知道大家喜欢吗?如果你们喜欢话,请在文章底部留言或点赞,以表示对我的支持,你们的留言,点赞,转发关注是我持续更新的动力哦!

关注公众号回复:"1024",免费领取一大波学习资源,先到先得哦!

1429 次点击
所在节点    Python
1 条回复
Kobayashi
2020-07-28 22:11:08 +08:00
这库写的还可以。但是 UA 数据源太烂:1 ) UA 版本太老,2 )没有移动端 UA 。
结论:没用的必要。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/690393

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX