欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

GitHub:随机生成UserAgent浏览器

程序员文章站 2022-05-09 10:37:37
...

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

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

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

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

GitHub:随机生成UserAgent浏览器