Python爬虫之UserAgent的使用实例

 更新时间:2019年02月21日 14:04:32   作者:LittleQueue  
今天小编就为大家分享一篇关于Python爬虫之UserAgent的使用实例,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧

问题: 在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

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

总结

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

相关文章

  • Flask自定义序列化超详细讲解

    Flask自定义序列化超详细讲解

    序列化其实就是将数据转化成一种可逆的数据结构,自然,逆向的过程就叫做反序列化。php将数据序列化和反序列化会用到两个函数:serialize 将对象格式化成有序的字符串、unserialize 将字符串还原成原来的对象
    2022-11-11
  • Python:Scrapy框架中Item Pipeline组件使用详解

    Python:Scrapy框架中Item Pipeline组件使用详解

    这篇文章主要介绍了Python:Scrapy框架中Item Pipeline组件使用详解,具有一定借鉴价值,需要的朋友可以参考下
    2017-12-12
  • Python异常学习笔记

    Python异常学习笔记

    这篇文章主要介绍了Python异常学习笔记,本文着重讲解了如何自定义一个异常,需要的朋友可以参考下
    2015-02-02
  • 机器学习Erdos Renyi随机图生成方法及特性

    机器学习Erdos Renyi随机图生成方法及特性

    这篇文章主要为大家介绍了机器学习Erdos Renyi随机图生成方法及特性详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05
  • python利用smtplib实现QQ邮箱发送邮件

    python利用smtplib实现QQ邮箱发送邮件

    这篇文章主要为大家详细介绍了python利用smtplib实现QQ邮箱发送邮件,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-05-05
  • PyQt5 python 数据库 表格动态增删改详情

    PyQt5 python 数据库 表格动态增删改详情

    这篇文章主要介绍了PyQt5 python 数据库 表格动态增删改详情,首先手动连接数据库与下一个的程序连接数据库是独立的2个部分,下面来看看文章的详细介绍
    2022-01-01
  • python格式化字符串的实战教程(使用占位符、format方法)

    python格式化字符串的实战教程(使用占位符、format方法)

    我们经常会用到%-formatting和str.format()来格式化,下面这篇文章主要给大家介绍了关于python格式化字符串的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-08-08
  • Python 用NumPy创建二维数组的案例

    Python 用NumPy创建二维数组的案例

    这篇文章主要介绍了Python 用NumPy创建二维数组的案例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03
  • 使用pyQT5显示网页的实现步骤

    使用pyQT5显示网页的实现步骤

    本文主要介绍了使用pyQT5显示网页的实现步骤,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-10-10
  • Numpy中的数组搜索中np.where方法详细介绍

    Numpy中的数组搜索中np.where方法详细介绍

    这篇文章主要介绍了Numpy中的数组搜索中np.where方法详细介绍,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01

最新评论