相信学习python爬虫的同学都有接触User-Agent(以下简称UA)代理,但是许多刚接触的同学都不清楚我们常讲得UA代理到底姓甚名甚?下面让我们一一道来!
前言:学习UA之前先让我们明白两个概念: 浏览器与服务器的区别?
Web浏览器和Web服务器的区别是什么-windows运维-PHP中文网
(以下两张图分别转自上述两个网址,大家可以去学习下)
简单来说,浏览器就是个软件,服务器好比一个信息库
浏览器(软件):用于上网获取信息 服务器(信息库):存储信息,响应用户需要
(我想要什么,我需要什么) (你需要什么,我给你什么)
还是不明白的同学可以去看看上面两个网址
User-Agent为何物?
我们先看看百度解释:User Agent中文名为用户代理,简称 UA,它是一个特殊字符串头,使得服务器能够识别客户使用的操作系统及版本、CPU 类型、浏览器及版本、浏览器渲染引擎、浏览器语言、浏览器插件等
简单来说,UA是浏览器的身份证,让服务器知道你是谁?服务器通过识别UA,来响应适合你电脑、手机...的网络页面
不懂?没关系,下面举个例子告诉你,我们就拿一个手机浏览器来举栗:
在浏览器中,我们可以通过调节UA,来获取不同板式的网页
UA(身份证)告诉服务器我是p50pro鸿蒙系统等一系列信息, 随之网站返回与屏幕尺寸、系统等相适应的一个网页。
此处若选择电脑UA,则告诉服务器我是Wiin10,64位系统(此处win10为举例),服务器网站知道后返回与之系统参数相适应的网页 。(你没看错,在手机也可以打开网页版的B站!不信可以动手试试噢!)
为什么要用User-Agent呢?
我们python在爬取网页时,UA(身份证)是自带的(ex:我的pythonUA就是Python-urllib/3.7)
网站看到我们的UA(身份证)后会禁止我们爬取数据,不利于后面工作的开展。(我们可以用这串代码来查看python自带的UA,以下代码转自B站一位up,贴上链接,大家可以去学习下:爬虫伪装第一步:设置User-Agent_哔哩哔哩_bilibili)
因此,我们需要伪装成浏览器去访问网页,这时,UA代理(借身份证)就出来了!(不足之处,欢迎大神指点!)