python接口自动化42 - 生成随机请求头部UserAgent(fake_useragent)

前言

如果网站对请求头部有限制,短时间内频繁访问会被锁定,可以使用随机请求头部伪装不同浏览器
使用 python 第三方模块 fake_useragent 随机生成请求头部 UserAgent

fake_useragent安装

pip安装依赖包

pip install fake_useragent --index-url https://pypi.douban.com/simple

查看版本

D:\soft>pip show fake_useragent
Name: fake-useragent
Version: 0.1.11
Summary: Up to date simple useragent faker with real world database
Home-page: https://github.com/hellysmile/fake-useragent
Author: hellysmile@gmail.com
Author-email: hellysmile@gmail.com
License: UNKNOWN
Location: e:\python36\lib\site-packages
Requires:
Required-by: requests-html

使用示例

可以指定浏览器名称,模拟对应浏览器请求头部UserAgent

from fake_useragent import UserAgent

# 指定浏览器名称
ua = UserAgent()
print(ua.ie)
print(ua.firefox)
print(ua.chrome)

每次运行生成的浏览器版本都不一样

Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0; chromeframe/13.0.782.215)
Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:25.0) Gecko/20100101 Firefox/25.0
Mozilla/5.0 (Windows NT 6.2; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1667.0 Safari/537.36

随机生成请求头部

调用random方法随机生成请求头部

from fake_useragent import UserAgent

ua = UserAgent()
headers = {"User-Agent": ua.random}
print(headers)

每次运行结果都会不一样

{'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1664.3 Safari/537.36'}

查看不同User-Agent地址:http://fake-useragent.herokuapp.com/browsers/0.1.5

2021年第八期《python接口web自动化+测试开发》7.17号开学(课程全面升级!) 加量不加价(新增postman, 赠送selenium和python基础2个课)

本期上课时间:7月17号-10月16号,每周六、周日晚上20:30-22:30

(0)

相关推荐

  • requests模块的入门使用

    requests模块的入门使用 dongge-destiny 2018-07-11 00:10:18  137  收藏 分类专栏: python-爬虫 文章标签: requests模块的入门使用 版权 ...

  • 浏览器的“套娃行为”有多凶残?

    几乎所有的中国网民都不会忘记 2010 年的"3Q大战". 在腾讯做出那个"非常艰难的决定"之后,360 不但不能与 QQ 同时安装了,使用 360 浏览器的用 ...

  • fake-useragent库:值得花2分钟学习的库

    前几天意外找到一个简单实用的库- fake-useragent,可以伪装生成headers请求头中的User Agent值.再也不用,重复做复制粘贴这种很Low的工作了. 安装 pip3 instal ...

  • 构建User-Agnet代理池

    在编写爬虫程序时,一般都会构建一个User-Agent(用户代理)池,就是把多个浏览器的UA信息放进列表中,然后再从中随机选择.构建用户代理池,能够避免总是使用一个UA来访问网站,因为短时间内总使用一 ...

  • (30条消息) Chrome浏览器打开微信页面

    当我们打开微信浏览器的页面时,会提示这个 下面教大家用Chrome浏览器打开微信页面,以方便调试. 1.微信的UA(User agent:用户代理). 安卓微信UA: mozilla/5.0 (lin ...

  • 宝塔面板nginx防火墙非浏览器拦截真的有用吗?

    更新8.7.3版nginx防火墙后,小白发现多了一个"非浏览器拦截".宝塔官网对此功能只说明了建议开启此功能,拦截非浏览器请求,此开关将应用所有网站(建议开).但是小白实测开启后会 ...

  • C#实现-浏览器UA解析获得手机、系统、浏览器等信息

    点击进入GitHub项目 Nuget包名:ToolBox.UserAgentParse 使用教程: 1. 打开项目→选择依赖项(引用)→右键 管理nuget程序包 2. 搜索包 ToolBox.Use ...

  • python接口自动化1-发送get请求

    前言 requests模块,也就是老污龟,为啥叫它老污龟呢,因为这个官网上的logo就是这只污龟,接下来后面的自动化都离不开它. 一.环境安装 1.用pip安装requests模块 >>p ...

  • python接口自动化2-发送post请求

    前言 发送post的请求参考例子很简单,实际遇到的情况却是很复杂的,首先第一个post请求肯定是登录了,但登录是最难处理的.登录问题解决了,后面都简单了. 一.查看官方文档 1.学习一个新的模块,其实 ...

  • python接口自动化26-发xml格式post请求

    前言 post请求相对于get请求多一个body部分,body部分常见的数据类型有以下四种(注意是常见的,并不是只有4种) application/x-www-form-urlencoded appl ...

  • python接口自动化9-https请求(SSL)

    前言 本来最新的requests库V2.13.0是支持https请求的,但是一般写脚本时候,我们会用抓包工具fiddler,这时候会 报:requests.exceptions.SSLError: [ ...

  • python接口自动化37-模拟ajax异步请求(X-Requested-With:XMLHttpRequest)

    前言 有些接口请求头部带上X-Requested-With:XMLHttpRequest ,返回数据是 json .如果头部不加这个参数,返回数据是普通 html 文本. 这种头部带上X-Reques ...

  • python接口自动化3-自动发帖(session)

    前言 上一篇模拟登录博客园,但这只是第一步,一般登录后,还会有其它的操作,如发帖,评论等,这时候如何保持会话呢? 一.session简介 1.查看帮助文档,贴了一部分,后面省略了 >>im ...

  • python接口自动化4-绕过验证码登录(cookie)

    前言 有些登录的接口会有验证码:短信验证码,图形验证码等,这种登录的话验证码参数可以从后台获取的(或者查数据库最直接). 获取不到也没关系,可以通过添加cookie的方式绕过验证码. 一.抓登录coo ...

  • python接口自动化5-Json数据处理

    前言 有些post的请求参数是json格式的,这个前面第二篇post请求里面提到过,需要导入json模块处理. 一般常见的接口返回数据也是json格式的,我们在做判断时候,往往只需要提取其中几个关键的 ...

  • python接口自动化6-重定向(Location)

    前言 某屌丝男A鼓起勇气向女神B打电话表白,女神B是个心机婊觉得屌丝男A是好人,不想直接拒绝于是设置呼叫转移给闺蜜C了,最终屌丝男A和女神闺蜜C表白成功了,这种场景其实就是重定向了. 一.重定向 1. ...