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

本贴最后更新于 1551 天前,其中的信息可能已经时移俗易

前言

在现在Python最火的时代,有一门技术已经被广泛宣传了 -- 爬虫
那爬虫是什么呢?它是按照一定的规则,自动地抓取网络上信息的程序或者脚本
举个简单的例子,腾讯新闻网站上,有统计全国各地的疫情情况
image.png
这些疫情,是怎么汇总的呢?
如果只是靠人工手动去收集,那耗费的人力物力将非常的庞大。
那具体该怎么做呢?
其实,这个就是通过爬虫技术,写好脚本,到国家卫健委的官网上以及各个城市的卫健委的官网上去获取到的数据,然后进行归纳总结。
Ps:爬虫技术好,但是不要去触犯法律哟
既然爬虫能获取到网上的各种信息,那当然就会有很多公司,不想要自己的资源被其他人随随便便的获取。
所以,就会有很多平台,会去设置一些反爬虫的手段,比如今天我们要讲到的user-agent

User-Agent

User Agent中文名为用户代理,简称 UA。
它是一个特殊字符串头,使得服务器能够识别客户使用的操作系统及版本、CPU 类型、浏览器及版本、浏览器渲染引擎、浏览器语言、浏览器插件等等。
也就是说,假设:一个平台,设置了UA权限,必须以浏览器进行访问,当你使用爬虫脚本去访问该网站的时候,就会出现,访问失败、没有权限、或者没有任何资源返回的结果等错误信息。

不带User-Agent的情况

image.png
通过git图,你会发现,当我们使用工具去发送请求的时候,user-agent显示的是你工具的版本。
那么当对方平台设置了UA权限的时候,我们通过工具去发起请求的时候,就会提示各种错误,这个就可以好理解了。

带User-Agent的情况

image.png
通过git图,你会发现,当我们添加了一个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,表示浏览器的版本

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

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

1 操作
zymnstlm 在 2020-09-23 11:36:02 更新了该帖
回帖
请输入回帖内容 ...