Python爬虫之UserAgent的使用实例


Posted in Python onFebruary 21, 2019

问题: 在Python爬虫的过程中经常要模拟UserAgent, 因此自动生成UserAgent十分有用, 最近看到一个Python库(fake-useragent),可以随机生成各种UserAgent, 在这里记录一下, 留给自己爬虫使用。

安装 pip install fake-useragent

使用案例

基本使用

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

注意:

fake-useragent 将收集到的数据缓存到temp文件夹, 例如 /tmp, 更新数据:

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

有时候会因为网络或者其他问题,出现异常(fake_useragent.errors.FakeUserAgentError: Maximum amount of retries reached), 可以禁用服务器缓存(从这里踩了一个坑, 没仔细看文档的锅):

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

可以自己添加本地数据文件(v0.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.random

其他功能用到的也不是很多,详细见文档吧。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对三水点靠木的支持。如果你想了解更多相关内容请查看下面相关链接

Python 相关文章推荐
python里对list中的整数求平均并排序
Sep 12 Python
python使用datetime模块计算各种时间间隔的方法
Mar 24 Python
Python中enumerate函数代码解析
Oct 31 Python
浅谈Django REST Framework限速
Dec 12 Python
Python解决八皇后问题示例
Apr 22 Python
为什么从Python 3.6开始字典有序并效率更高
Jul 15 Python
python将下载到本地m3u8视频合成MP4的代码详解
Nov 24 Python
Python基于execjs运行js过程解析
Nov 27 Python
Python爬虫爬取有道实现翻译功能
Nov 27 Python
python脚本使用阿里云slb对恶意攻击进行封堵的实现
Feb 04 Python
告别网页搜索!教你用python实现一款属于自己的翻译词典软件
Jun 03 Python
总结python多进程multiprocessing的相关知识
Jun 29 Python
利用python实现在微信群刷屏的方法
Feb 21 #Python
Python实现微信自动好友验证,自动回复,发送群聊链接方法
Feb 21 #Python
使用python itchat包爬取微信好友头像形成矩形头像集的方法
Feb 21 #Python
对python借助百度云API对评论进行观点抽取的方法详解
Feb 21 #Python
用python实现刷点击率的示例代码
Feb 21 #Python
Python快速转换numpy数组中Nan和Inf的方法实例说明
Feb 21 #Python
python根据文章标题内容自动生成摘要的实例
Feb 21 #Python
You might like
Windows中安装Apache2和PHP4权威指南
2006/11/18 PHP
《PHP边学边教》(04.编写简易的通讯录――视频教程1)
2006/12/13 PHP
php之字符串变相相减的代码
2007/03/19 PHP
关于Sphinx创建全文检索的索引介绍
2013/06/25 PHP
PHP图片上传代码
2013/11/04 PHP
PHP中cookie和session的区别实例分析
2014/08/28 PHP
php生成html文件方法总结
2014/12/01 PHP
PHP生成随机密码方法汇总
2015/08/27 PHP
php实现处理输入转义字符的代码
2015/11/08 PHP
laravel中短信发送验证码的实现方法
2018/04/25 PHP
用jquery存取照片的具体实现方法
2013/06/30 Javascript
js css后面所带参数含义介绍
2013/08/18 Javascript
JavaScript数组随机排列实现随机洗牌功能
2015/03/19 Javascript
jQuery使用drag效果实现自由拖拽div
2015/06/11 Javascript
Angular实现一个简单的多选复选框的弹出框指令实例
2017/04/25 Javascript
vue中各组件之间传递数据的方法示例
2017/07/27 Javascript
在 React、Vue项目中使用SVG的方法
2018/02/09 Javascript
laravel-admin 与 vue 结合使用实例代码详解
2019/06/04 Javascript
微信小程序实现点击导航条切换页面
2020/11/19 Javascript
可拖拽组件slider.js使用方法详解
2020/12/04 Javascript
[04:29]DOTA2亚洲邀请赛小组赛第一日 TOP10精彩集锦
2015/02/01 DOTA
Python对多属性的重复数据去重实例
2018/04/18 Python
Python设计模式之简单工厂模式实例详解
2019/01/22 Python
使用tensorflow DataSet实现高效加载变长文本输入
2020/01/20 Python
Python matplotlib画曲线例题解析
2020/02/07 Python
如何基于python3和Vue实现AES数据加密
2020/03/27 Python
CSS超出文本指定宽度用省略号代替和文本不换行
2016/05/05 HTML / CSS
HTML5 Canvas渐进填充与透明实现图像的Mask效果
2013/07/11 HTML / CSS
HTML5中5个简单实用的API
2014/04/28 HTML / CSS
西安交大自主招生自荐信
2014/01/27 职场文书
就业推荐表自我鉴定范文
2014/03/21 职场文书
2014年政务公开工作总结
2014/12/09 职场文书
自荐信怎么写
2015/03/04 职场文书
Django使用echarts进行可视化展示的实践
2021/06/10 Python
vue中利用mqtt服务端实现即时通讯的步骤记录
2021/07/01 Vue.js
python自动化八大定位元素讲解
2021/07/09 Python