爬虫中的User-Agent和IP代理

                    爬虫中的User-Agent和IP代理

  一、User-Agent

  按照百度百科的解释:User-Agent中文名为用户代理,简称 UA,它是一个特殊字符串头,使得服务器能够识别客户使用的操作系统及版本、CPU 类型、浏览器及版本、浏览器渲染引擎、浏览器语言、浏览器插件等。网站可以通判断 UA 来给不同的操作系统、不同的浏览器发送不同的页面,对于爬虫来说,UA就是标明身份的第一层标识。

    以谷歌浏览器为例,Chrome的User-Agent为:

Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36

    快速获取浏览器的User-Agent的方法也很简单,只需要在地址栏中输入:about:version即可。

    当我们使用爬虫请求网页时,我们不伪装请求头,以http://www.httpbin.org/get为例,使用requests的GET直接请求,得到如下结果:

 

爬虫中的User-Agent和IP代理_第1张图片

可以看到,User-Agent直接显示为requests的版本号,接下来我们加入User-Agent试试。

爬虫中的User-Agent和IP代理_第2张图片

    很清楚的看到,User-Agent已经被替换成浏览器的标识了,而我们使用爬虫时也大多会带上这个请求头,但这只是一个User-Agent,也很容易被网站通过相同浏览器频繁访问而识别为爬虫程序,所以一般通过使用多个User-Agent随机调用的方式,避免一个请求头长时间访问。

    当然User-Agent只是第一步,基本上大家在写爬虫的时候都会带上请求头,配合上ip代理使用的话,爬虫的伪装能力就会大大增强了。

二、IP代理

    在爬虫的过程中,我们经常会遇见很多网站采取了防爬取技术,或者说因为自己采集网站信息的强度和采集速度太大,给对方服务器带去了太多的压力。

    如果你一直用同一个代理ip爬取这个网页,很有可能ip会被禁止访问网页,所以基本上做爬虫的都躲不过去ip的问题。

    通常情况下,爬虫用户自己是没有能力去自己维护服务器或者是自己搞定代理ip的问题的,一来是因为技术含量太高,二来是因为成本太高。

    当然,也有很多人会在网上放一些免费的代理ip,但是从实用性、稳定性以及安全性来考虑,不推荐大家使用免费的ip。网上公布的代理ip不一定是可用的,很可能你在使用过程中会发现ip不可用或者已失效的情况。

    所以现在,许许多多的代理服务器应运而生,基本都能提供ip代理的服务,区别在于价格和有效性。

    现在,爬虫程序怎么样安全躲避防爬程序,可以说是一个很普遍的需求了。

 

你可能感兴趣的:(【杂记】)