您的位置:新闻资讯 >文章内容
爬虫怎么伪装浏览器,不同浏览器的User-Agent不同
来源:互联网 作者:admin 时间:2018-12-05 15:45:12

    爬虫需要伪装,才不被反爬虫机制发现,通常我们访问网站是需要经过浏览器来访问的,因此爬虫也可以伪装成为浏览器访问网站,那么爬虫怎么伪装浏览器


    其实在我们打开网站时,浏览器会发送一小段信息给网站,我们称为RequestHeaders,在这个头部信息里面包含了本次访问的一些信息,例如编码方式,当前地址,将要访问的地址等等。这些信息一般来说是不必要的,但是现在很多网站会把这些信息利用起来。其中最常被用到的一个信息,叫做“User-Agent”。网站可以通过User-Agent来判断用户是使用什么浏览器访问。不同浏览器的User-Agent是不一样的,但都有遵循一定的规则。


    例如,我们在windows上面的Chrome浏览器,它的User-Agent是:


    但是如果我们使用Python的Requests直接访问网站,除了网址不提供其他的信息,那么网站收到的User-Agent是空。这个时候网站就知道我们不是使用浏览器访问的,于是它就可以拒绝我们的访问。


    例如:


    没有User-Agent的情况


爬虫怎么伪装浏览器


    有User-Agent的情况


爬虫怎么伪装浏览器


    如何获取网站的User-Agent呢?请打开Chrome,任意打开一个网站,然后右键,“检查”打开开发者工具,定位到“Network”选项卡,并刷新网页,如下图所示:


爬虫怎么伪装浏览器


    在左下角会出现当前网页加载的所有元素。随便点一个元素,于是在右下角会出现对当前元素的请求信息。在里面找到RequestHeaders这一项,里面的内容即为我们需要的内容。


    不同的网站,RequestHeaders是不同的


    提示:requests的get方法,post方法,Session模块的get方法,post方法,都支持自定义Headers,参数名为headers,它可以接收字典作为参数。


    我们可以通过字典来设定Headers,例如:


爬虫怎么伪装浏览器


    在requests中,使用如下代码来提交Headers:


    或者Session模块:


    检查User-Agent是一种最简单的反爬虫机制,而通过设定RequestHeaders中的User-Agent,可以突破这种机制。


    通过上文,大家都知道爬虫怎么伪装浏览器了,不管使用爬虫去抓取哪些数据,需要用到User-Agent,都可以伪装成为浏览器,可以收集不同版本的浏览器User-Agent,不能单使用一个,这样会增加被发现的风险。


相关文章内容简介
在线咨询
微信公众号

微信公众号

回到顶部