【爬虫--必须要了解的请求头 user-agent】

在现在Python最火的时代,有一门技术已经被广泛宣传了 -- 爬虫

那爬虫是什么呢?它是按照一定的规则,自动地抓取网络上信息的程序或者脚本
举个简单的例子,腾讯新闻网站上,有统计全国各地的疫情情况

前言

图片

这些疫情,是怎么汇总的呢?


如果只是靠人工手动去收集,那耗费的人力物力将非常的庞大。


那具体该怎么做呢?


其实,这个就是通过爬虫技术,写好脚本,到国家卫健委的官网上以及各个城市的卫健委的官网上去获取到的数据,然后进行归纳总结。

Ps:爬虫技术好,但是不要去触犯法律哟


既然爬虫能获取到网上的各种信息,那当然就会有很多公司,不想要自己的资源被其他人随随便便的获取。


所以,就会有很多平台,会去设置一些反爬虫的手段,比如今天我们要讲到的user-agent

User-Agent

图片

User Agent中文名为用户代理,简称 UA。


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


也就是说,假设:一个平台,设置了UA权限,必须以浏览器进行访问

当你使用爬虫脚本去访问该网站的时候,就会出现,访问失败、没有权限、或者没有任何资源返回的结果等错误信息。

不带User-Agent的情况

图片

图片

通过gif图,你会发现,当我们使用工具去发送请求的时候,user-agent显示的是你工具的版本。


那么当对方平台设置了UA权限的时候,我们通过工具去发起请求的时候,就会提示各种错误,这个就可以好理解了。

带User-Agent的情况

图片

图片

通过gif图,你会发现,当我们添加了一个User-Agent请求头,再去执行请求的时候,就可以得到正确的结果了。


并且我们使用工具去发送请求的请求头里 User-Agent也已经发生的改变。

那User-Agent怎么去设置呢?

图片

  • 首先,我们要先了解,User-Agent的组成

以谷歌浏览器为例:


Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.117 Safari/537.36

第一部分:Mozilla/5.0,默认都带上这个值


第二部分:(Windows NT 10.0; Win64; x64),表示操作系统版本,Windows NT 10.0就是win10系统,Win64; x64表示的是64位系统


第三部分:AppleWebKit/537.36 (KHTML, like Gecko),表示搜索引擎,也就是浏览器内核


第四部分:

Chrome/79.0.3945.117 Safari/537.36,表示浏览器的版本

  • 然后,再了解一下怎么查看user-agent

打开浏览器F12,随便访问一个网站,以百度为例

图片

访问到页面后,查看任何一个获取到的资源,都会有一个user-agent。

  • 最后,怎么设置呢?


User-Agent是一个头部信息,所有,我们把UA添加到请求头即可。


比如Jmeter:

图片

通过以上的了解,我们就可以知道,当公司的接口做了UA限制的时候,我们把正确的User-Agent的值,添加到请求头即可。

福利时间,UA的操作系统部分

  • Windows系统下:

Windows NT 5.0,表示Windows 2000


Windows NT 5.1,表示Windows XP


Windows NT 6.0,表示Windows Vista


Windows NT 6.1,表示Windows 7


Windows NT 6.2,表示Windows 8


Windows NT 6.3,表示Windows 8.1


Windows NT 10.0,表示 Windows 10


Win64; x64,表示64位的系统


WOW64,表示32位的应用程序运行于此64位处理器上

  • Linux系统下:


X11; Linux i686


X11; Linux x86_64


X11; Linux i686 on x86_64

  • macOS系统下:


Macintosh; Intel Mac OS X 10_9_0


Macintosh; PPC Mac OS X 10_9_0


Macintosh; Intel Mac OS X 10.12

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值