GitHub:随机生成UserAgent浏览器

4,155 阅读3分钟

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.com或w3schools.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

开源地址:github.com/hellysmile/…

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

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