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的Django框架生成PDF文件的教程
Jul 22 Python
修复 Django migration 时遇到的问题解决
Jun 14 Python
Python import与from import使用及区别介绍
Sep 06 Python
python之线程通过信号pyqtSignal刷新ui的方法
Jan 11 Python
对python生成业务报表的实例详解
Feb 03 Python
Django时区详解
Jul 24 Python
python Django的web开发实例(入门)
Jul 31 Python
python 提取文件指定列的方法示例
Aug 07 Python
python求平均数、方差、中位数的例子
Aug 22 Python
python3实现网页版raspberry pi(树莓派)小车控制
Feb 12 Python
学python需要去培训机构吗
Jul 01 Python
详解Python 循环嵌套
Jul 09 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数组传递是值传递而非引用传递概念纠正
2013/01/31 PHP
利用PHP+JS实现搜索自动提示(实例)
2013/06/09 PHP
thinkPHP3.1验证码的简单实现方法
2016/04/22 PHP
javascript 点击整页变灰的效果(可做退出效果)。
2008/01/09 Javascript
javascript new一个对象的实质
2010/01/07 Javascript
jquery数组封装使用方法分享(jquery数组遍历)
2014/03/25 Javascript
Javascript无参数和有参数类继承问题解决方法
2015/03/02 Javascript
使用AngularJS来实现HTML页面嵌套的方法
2015/06/17 Javascript
谈谈JavaScript自定义回调函数
2015/10/18 Javascript
谈一谈jQuery核心架构设计
2016/03/28 Javascript
Javascript基础_标记文字的实现方法
2016/06/14 Javascript
js方法数据验证的简单实例
2016/09/17 Javascript
基于JavaScript实现验证码功能
2017/04/01 Javascript
基于bootstrap写的一点localStorage本地储存
2017/11/21 Javascript
vue数据初始化initState的实例详解
2019/04/11 Javascript
vue路由教程之静态路由
2019/09/03 Javascript
JavaScript实现模态对话框实例
2020/01/13 Javascript
vue滑动吸顶及锚点定位的示例代码
2020/05/10 Javascript
vue实现把接口单独存放在一个文件方式
2020/08/13 Javascript
vue全局使用axios的操作
2020/09/08 Javascript
js实现限定区域范围拖拉拽效果
2020/11/20 Javascript
Python wxPython库消息对话框MessageDialog用法示例
2018/09/03 Python
在Python中,不用while和for循环遍历列表的实例
2019/02/20 Python
利用Python对文件夹下图片数据进行批量改名的代码实例
2019/02/21 Python
浅谈python图片处理Image和skimage的区别
2019/08/04 Python
Python使用matplotlib绘制三维参数曲线操作示例
2019/09/10 Python
pycharm 2018 激活码及破解补丁激活方式
2020/09/21 Python
详解python 条件语句和while循环的实例代码
2020/12/28 Python
青年创业培训欢迎词
2014/01/08 职场文书
工作保证书
2015/01/17 职场文书
少儿励志名言(80句)
2019/08/14 职场文书
Python List remove()实例用法详解
2021/08/02 Python
div与span之间的区别与使用介绍
2021/12/06 HTML / CSS
JavaScript中的LHS和RHS分析详情
2022/04/06 Javascript
微信小程序APP的事件绑定以及传递参数时的冒泡和捕获
2022/04/19 Javascript
Android开发实现极为简单的QQ登录页面
2022/04/24 Java/Android