fake-useragent文档:

https://fake-useragent.readthedocs.io/en/latest/

在爬虫中进行request请求,很多时候,都需要添加请求头,不然服务器会认为是非法的请求,从而拒绝你的访问。,在添加请求头中最常用的就是添加user-agent来讲本次请求伪装成浏览器。

User Agent 中文名为用户代理,简称 UA,它是一个特殊字符串头,使得服务器能够识别客户使用的操作系统及版本、CPU 类型、浏览器及版本、浏览器渲染引擎、浏览器语言、浏览器插件等。

那么个人怎么搞这个user-agent呢,没错?八仙过海各显神通,但一般都是用手来解决个人问题!

url = 'https://www.zhihu.com/question/315387406/answer/812734512'
headers = {"user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.132 Safari/537.36"
}

但,自从有了fake_useragent。。。。

from fake_useragent import UserAgent
# 实例化 user-agent 对象
ua = UserAgent()url = 'https://www.zhihu.com/question/315387406/answer/812734512'
headers = {"user-agent": ua.chrome}  # 指定浏览器 user-agent
# 或者可以这样写
# headers = {"user-agent": UserAgent().random}  # 一步到位,随机生成一个 user-agent
response = requests.get(url=url, headers=headers)
print(response.status_code)  # 200

install

pip install fake_useragent

update

pip install -U fake-useragent

查看版本

import fake_useragent
print(fake_useragent.VERSION)

生成指定浏览器的user-agent


import fake_useragent# 实例化 user-agent 对象
ua = fake_useragent.UserAgent()# ua.ie
print(ua.ie)  # Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0; chromeframe/13.0.782.215)# ua.msie
print(ua['Internet Explorer'])  # Mozilla/5.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; InfoPath.2; SLCC1; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; .NET CLR 2.0.50727)# ua.opera
print(ua.opera)  # Opera/9.80 (Windows NT 6.1; U; en-US) Presto/2.7.62 Version/11.01# ua.chrome
print(ua.chrome)  # Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.16 Safari/537.36# ua.google
print(ua['google chrome'])  # Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2227.0 Safari/537.36# ua.firefox
print(ua.firefox)  # Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:16.0.1) Gecko/20121011 Firefox/21.0.1# ua.ff
print(ua.ff)  # Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:25.0) Gecko/20100101 Firefox/29.0# ua.safari
print(ua.safari)  # Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-TW) AppleWebKit/533.19.4 (KHTML, like Gecko) Version/5.0.2 Safari/533.18.5

随机生成user-agent

import fake_useragent# 实例化 user-agent 对象
ua = fake_useragent.UserAgent()
print(ua.random)  # Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.67 Safari/537.36
print(ua.random)  # Mozilla/5.0 (compatible; MSIE 10.0; Macintosh; Intel Mac OS X 10_7_3; Trident/6.0)
print(ua.random)  # Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36

每次都能随机生成一个UA表示,大大增强了爬虫的真实性。

fake-useragent 的使用相关推荐

  1. 恶意url_预测URL的恶意

    恶意url In this article, we walk through developing a simple feature set representation for identifyin ...

  2. 寝室多设备连接校园网的解决方案

    步骤/目录: 1.需求分析 2.解决方案(1)电脑wifi共享(2)手机热点法(3)路由器更改MAC法a.配置路由器b.更改路由器上网方式及MAC地址c.注意事项及改进(4)路由器刷机法a.购买路由器 ...

  3. 基于bs4爬壁纸中头像板块的图片

    本文章主要用于爬取某某壁纸中头像板块的内容,代码采用bs4模块的方法. **主页面** 子页面 # -*- codeing = utf-8 -*- # @Time 2022/11/27 19:08 # ...

  4. python3 爬虫五大模块之三:网页下载器

    Python的爬虫框架主要可以分为以下五个部分: 爬虫调度器:用于各个模块之间的通信,可以理解为爬虫的入口与核心(main函数),爬虫的执行策略在此模块进行定义: URL管理器:负责URL的管理,包括 ...

  5. python实现爬取微博相册所有图片

    微博相册的批量爬取 文章目录 前言 一.分析实现思路 二.编写代码 1.引入库 2.多进程的编写 3.主函数的编写 结果 前言 微博有相册功能,那么我们如何批量下载相册中的所有照片呢? 提示:以下是本 ...

  6. 你还为没有数据测试而发愁吗?介绍一个专业Fake的python库,什么个人信息、IP、UserAgent统统搞定

    小编经常需要批量测试一些数据,有时候测试环境又暂时没数据,特意找了一下,发现有一个可批量生成数据的python库----faker,现在就介绍一下它的使用方法,如果你不想一行一行输入代码,那小编页提供 ...

  7. Angular 应用级别的依赖 Fake

    原文:Faking dependencies in Angular applications 使用 Angular 依赖注入系统的强大功能,我们可以伪造特定的用例. 这对于自动化测试很有用,但在本文中 ...

  8. Angular 依赖的测试和 Fake

    原文:Testing and faking Angular dependencies 依赖注入是 Angular 的一个关键特性.这种灵活的方法使我们的可声明和基于类的服务更容易隔离测试. 可摇树依赖 ...

  9. scrapy配置user-agent中间件和ip代理中间件

    # 使用了fake库 from fake_useragent import UserAgent# 配置headers class RandomUserAgentMidddlware(object):# ...

  10. 使用python fake module批量制造测试数据

    日常测试工作中有很多需要造假数据的需求,自己乱造的数据看上去总是那么的不顺眼,因此我们需要一个帮助我们专职造假的数据包,那就是fake. 安装 pip install faker 使用方法 from ...

最新文章

  1. JupyterLab Server 搭建与使用笔记
  2. Objective-C学习—UIWebView的使用
  3. MC新手入门(五十)------服务器连接 一
  4. 借助二分法匹配时间戳实现快速查找日志内容
  5. filter执行先后问题_filter的执行顺序是怎样的?
  6. 没有写入hosts文件权限
  7. 安卓JNI开发-01
  8. [JZOJ P1281] [DP]背包的第k优解
  9. 依赖注入例子php,依赖注入小例子
  10. 西瓜书+实战+吴恩达机器学习(十五)无监督学习之关联分析(Apriori, FP-growth)
  11. hnu小学期实训之数圈
  12. newifi3高恪魔改最新_12.08达达最新球球id账号呆瓜表
  13. Android 通过WebService进行网络编程,使用工具类轻松实现
  14. prototype的相关注意点
  15. Atitit 命令指令的分类与权限 IMAP协议为例子 目录 1. 指令的作用的权限吧。 全局命令 未认证状态命令 未认证状态命令 选中状态指令 2 1.1. 1.在任何状态下都有效的指令(全局命
  16. 关于Linux下ISE和vivado安装cable usb驱动的问题
  17. 艺多不压身—摩尔斯电码
  18. |9 其他(linux特定的), 用来存放内核例行程序的文档.,Linux常用操作指令
  19. Win7虚拟机安装vs2019,亲测有效
  20. Android:有关下拉菜单导航的学习(供自己参考)

热门文章

  1. 中国剩余定理matlab程序,中国剩余定理即孙子定理的五种解法
  2. 员工讨厌行为管理软件_我讨厌软件工程师
  3. SVM推导和Hessian矩阵
  4. 君弘号《大白话讲炒股》笔记(第三部分):均线知识
  5. 雪花算法原理_聊聊旷厂黑科技|为了让手机拍出好照片,我们开发了100多种算法...
  6. JAVA毕设项目免费音乐分享平台(java+VUE+Mybatis+Maven+Mysql)
  7. 重度游戏热度居高不下,中轻度游戏如何突出重围?
  8. 关于慕课第一讲的鸢尾花测试笔记——tensorflow2
  9. 从前慢-TypeScript
  10. 【正点原子FPGA连载】第四十六章SD卡读写测试实验 -摘自【正点原子】新起点之FPGA开发指南_V2.1