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中enumerate的用法实例解析
Aug 18 Python
Python实现的Google IP 可用性检测脚本
Apr 23 Python
Python3实现发送QQ邮件功能(附件)
Dec 23 Python
python+opencv实现动态物体追踪
Jan 09 Python
Python、 Pycharm、Django安装详细教程(图文)
Apr 12 Python
Python 抓取微信公众号账号信息的方法
Jun 14 Python
python使用PIL和matplotlib获取图片像素点并合并解析
Sep 10 Python
Python autoescape标签用法解析
Jan 17 Python
使用Python获取当前工作目录和执行命令的位置
Mar 09 Python
Python多线程thread及模块使用实例
Apr 28 Python
Python插件机制实现详解
May 04 Python
用OpenCV进行年龄和性别检测的实现示例
Jan 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
PHP 基于文件头的文件类型验证类函数
2012/05/01 PHP
PHP通过session id 实现session共享和登录验证的代码
2012/06/03 PHP
PHP使用Face++接口开发微信公众平台人脸识别系统的方法
2015/04/17 PHP
一个JS翻页效果
2007/07/23 Javascript
Prototype使用指南之selector.js说明
2008/10/26 Javascript
IE 条件注释详解总结(附实例代码)
2009/08/29 Javascript
jQuery实用基础超详细介绍
2013/04/11 Javascript
JS验证身份证有效性示例
2013/10/11 Javascript
做好七件事帮你提升jQuery的性能
2014/02/06 Javascript
flash遮住div问题的正确解决方法
2014/02/27 Javascript
javascript 中that的含义示例介绍
2014/05/14 Javascript
jquery控制select的text/value值为选中状态
2014/06/03 Javascript
js实现鼠标感应向下滑动隐藏菜单的方法
2015/02/20 Javascript
JQuery 在文档中查找指定name的元素并移除的实现方法
2016/05/19 Javascript
vue使用Axios做ajax请求详解
2017/06/07 Javascript
jquery对table做排序操作的实例演示
2017/08/10 jQuery
Servlet3.0与纯javascript通过Ajax交互的实例详解
2018/03/18 Javascript
原生js实现拖拽功能基本思路详解
2018/04/18 Javascript
vue中el-upload上传图片到七牛的示例代码
2018/10/19 Javascript
详解vue项目中调用百度地图API使用方法
2019/04/25 Javascript
微信小程序基于movable-view实现滑动删除效果
2020/01/08 Javascript
将Python中的数据存储到系统本地的简单方法
2015/04/11 Python
介绍Python的@property装饰器的用法
2015/04/28 Python
Python selenium 三种等待方式解读
2016/09/15 Python
Python编程使用tkinter模块实现计算器软件完整代码示例
2017/11/29 Python
Python 实现交换矩阵的行示例
2019/06/26 Python
使用apiDoc实现python接口文档编写
2019/11/19 Python
Python argparse模块使用方法解析
2020/02/20 Python
Pyecharts地图显示不完成问题解决方案
2020/05/11 Python
python操作链表的示例代码
2020/09/27 Python
英国护发和美妆在线商店:Klip Shop
2019/03/24 全球购物
素质拓展感言
2014/01/29 职场文书
2014年财务工作自我评价
2014/09/23 职场文书
2014年化验室工作总结
2014/11/21 职场文书
ObjectMapper 如何忽略字段大小写
2021/06/29 Java/Android
MySQL数据库索引的最左匹配原则
2021/11/20 MySQL