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脚本生成Android SALT扰码的方法
Sep 18 Python
Python迭代用法实例教程
Sep 08 Python
Python基于QRCode实现生成二维码的方法【下载,安装,调用等】
Jul 11 Python
Python抓取框架Scrapy爬虫入门:页面提取
Dec 01 Python
详解Django+Uwsgi+Nginx 实现生产环境部署
Nov 06 Python
python接口自动化(十七)--Json 数据处理---一次爬坑记(详解)
Apr 18 Python
Python测试线程应用程序过程解析
Dec 31 Python
基于Python和PyYAML读取yaml配置文件数据
Jan 13 Python
Python文字截图识别OCR工具实例解析
Mar 05 Python
浅谈Python3多线程之间的执行顺序问题
May 02 Python
解决Pycharm 中遇到Unresolved reference 'sklearn'的问题
Jul 13 Python
Python连接Mysql进行增删改查的示例代码
Aug 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
JQuery与iframe交互实现代码
2009/12/24 Javascript
xml转json的js代码
2012/08/28 Javascript
谈谈JavaScript异步函数发展历程
2015/09/29 Javascript
jQuery的ajax下载blob文件
2016/07/21 Javascript
微信小程序自定义导航隐藏和显示功能
2017/06/13 Javascript
ionic2懒加载配置详解
2017/09/01 Javascript
Vue.js devtool插件安装后无法使用的解决办法
2017/11/27 Javascript
vue.js在标签属性中插入变量参数的方法
2018/03/06 Javascript
解析Json字符串的三种方法日常常用
2018/05/02 Javascript
详解Vue CLI3配置之filenameHashing使用和源码设计使用和源码设计
2018/08/31 Javascript
VUE兄弟组件传值操作实例分析
2019/10/26 Javascript
微信小程序利用for循环解决内容变更问题
2020/03/05 Javascript
js+css实现全屏侧边栏
2020/06/16 Javascript
微信小程序实现倒计时功能
2020/11/19 Javascript
Python中的descriptor描述器简明使用指南
2016/06/02 Python
Python+树莓派+YOLO打造一款人工智能照相机
2018/01/02 Python
Python基于Opencv来快速实现人脸识别过程详解(完整版)
2019/07/11 Python
PyCharm 配置远程python解释器和在本地修改服务器代码
2019/07/23 Python
python实现通过队列完成进程间的多任务功能示例
2019/10/28 Python
Python Tkinter模块 GUI 可视化实例
2019/11/20 Python
社区版pycharm创建django项目的方法(pycharm的newproject左侧没有项目选项)
2020/09/23 Python
小白教你PyCharm从下载到安装再到科学使用PyCharm2020最新激活码
2020/09/25 Python
Python SQLAlchemy库的使用方法
2020/10/13 Python
一些高难度的SQL面试题
2016/11/29 面试题
初中化学教学反思
2014/01/23 职场文书
诚信的演讲稿范文
2014/05/12 职场文书
园林技术专业求职信
2014/07/28 职场文书
2014年专项整治工作总结
2014/11/17 职场文书
小班下学期幼儿评语
2014/12/30 职场文书
2014年个人总结范文
2015/03/09 职场文书
书法社团活动总结
2015/05/07 职场文书
初中生物教学随笔
2015/08/15 职场文书
JavaScript中关于预编译、作用域链和闭包的理解
2021/03/31 Javascript
tensorboard 可视化之localhost:6006不显示的解决方案
2021/05/22 Python
TV动画《神废柴☆偶像》公布先导PV
2022/03/20 日漫
css3属性选择器 “~”(波浪号) “,”(逗号) “+”(加号)和 “>”(大于号)
2022/04/19 HTML / CSS