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 相关文章推荐
pymongo实现多结果进行多列排序的方法
May 16 Python
Python中数字以及算数运算符的相关使用
Oct 12 Python
python+mongodb数据抓取详细介绍
Oct 25 Python
浅谈flask中的before_request与after_request
Jan 20 Python
详解Python中的四种队列
May 21 Python
更改Python的pip install 默认安装依赖路径方法详解
Oct 27 Python
python爬虫刷访问量 2019 7月
Aug 01 Python
python自动化工具之pywinauto实例详解
Aug 26 Python
Python FTP文件定时自动下载实现过程解析
Nov 12 Python
浅谈python print(xx, flush = True) 全网最清晰的解释
Feb 21 Python
python matplotlib包图像配色方案分享
Mar 14 Python
Windows+Anaconda3+PyTorch+PyCharm的安装教程图文详解
Apr 03 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
PHP实现抓取Google IP并自动修改hosts文件
2015/02/12 PHP
PHP SFTP实现上传下载功能
2017/07/26 PHP
php curl简单采集图片生成base64编码(并附curl函数参数说明)
2019/02/15 PHP
jQuery UI Datepicker length为空或不是对象错误的解决方法
2010/12/19 Javascript
Javascript中call的两种用法实例
2013/12/13 Javascript
node.js中的emitter.emit方法使用说明
2014/12/10 Javascript
jQuery实现拖拽效果插件的方法
2015/03/23 Javascript
Bootstrap实现登录校验表单(带验证码)
2016/06/23 Javascript
jQuery EasyUI tree 使用拖拽时遇到的错误小结
2016/10/10 Javascript
JavaScript-定时器0~9抽奖系统详解(代码)
2017/08/16 Javascript
JS实现的JSON序列化操作简单示例
2018/07/02 Javascript
深入理解JavaScript的值传递和引用传递
2018/10/24 Javascript
Javascript删除数组里的某个元素
2019/02/28 Javascript
Vue使用Canvas绘制图片、矩形、线条、文字,下载图片
2019/04/26 Javascript
如何给element添加一个抽屉组件的方法步骤
2019/07/14 Javascript
react 生命周期实例分析
2020/05/18 Javascript
Python实现命令行通讯录实例教程
2016/08/18 Python
Python外星人入侵游戏编程完整版
2020/03/30 Python
Python使用SQLite和Excel操作进行数据分析
2018/01/20 Python
spark dataframe 将一列展开,把该列所有值都变成新列的方法
2019/01/29 Python
python groupby 函数 as_index详解
2019/12/16 Python
Python多线程threading join和守护线程setDeamon原理详解
2020/03/18 Python
Keras实现支持masking的Flatten层代码
2020/06/16 Python
python文件路径操作方法总结
2020/12/21 Python
Django中template for如何使用方法
2021/01/31 Python
应届毕业生个人自荐信范文
2013/11/30 职场文书
餐饮部总监岗位职责范文
2014/02/13 职场文书
工厂门卫岗位职责范本
2014/04/04 职场文书
内蒙古鄂尔多斯市市长寄语
2014/04/10 职场文书
交通事故协议书范文
2014/04/16 职场文书
挂靠协议书范本
2014/04/22 职场文书
项目经理任命书范本
2014/06/05 职场文书
七一建党节慰问信
2015/02/14 职场文书
小学运动会加油词
2015/07/18 职场文书
任命书格式模板
2015/09/22 职场文书
Mysql systemctl start mysqld报错的问题解决
2021/06/03 MySQL