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
import fake_useragent
print(fake_useragent.VERSION)
pip install fake-useragent
开源地址: https://github.com/hellysmile/fake-useragent
今天的推荐不知道大家喜欢吗?如果你们喜欢话,请在文章底部留言或点赞,以表示对我的支持,你们的留言,点赞,转发关注是我持续更新的动力哦!
关注公众号回复:"1024
",免费领取一大波学习资源,先到先得哦!
1
Kobayashi 2020-07-28 22:11:08 +08:00 via Android
这库写的还可以。但是 UA 数据源太烂:1 ) UA 版本太老,2 )没有移动端 UA 。
结论:没用的必要。 |