现在网站对爬虫的限制是越来越多,因为大家都不希望自己的私密数据被其他人恶意获取。但是道高一尺魔高一丈,代理IP能够为爬虫工作者省下不少烦恼。
爬虫在爬取页面时可能遇到了网页被重定向的情况,所谓重定向(Redirect)就是通过各种方法将各种网络请求重新转到其它位置(URL)。每个网站主页是网站资源的入口,当重定向发生在网站主页时,如果不能正确处理就很有可能会错失这整个网站的内容。
下面将介绍爬虫在爬取网页时遇到了三种重定向的情况及解决方法。
1、js 重定向,通过JavaScript代码形式进行重定向。如下面JavaScript代码
对于这种方式的跳转,由于可以实现该功能的JavaScript语句有多种形式,不能再使用正则表达式提取url,只能考虑加载JavaScript代码来进行解决。
2、meta refresh,即网页中的标签声明了网页重定向的链接,这种重定向由浏览器完成,需要编写代码进行处理。例如,某一重定向如下面的html代码第三行中的注释所示,浏览器能够自动跳转,但爬虫只能得到跳转前的页面,不能自动跳转。
解决办法是通过得到跳转前的页面源码,从中提取出重定向url信息(上述代码第三行中的url属性值)。一个具体的操作:①使用xpath('//meta[@http-equiv="refresh" and @content]/@content')提取出content的值 ②使用正则表达式提取出重定向的url值。
3、服务器端重定向,在服务器端完成,一般来说爬虫可以自适应,是不需要特别处理的,如响应代码301(永久重定向)、302(暂时重定向)等。具体来说,可以通过requests请求得到的response对象中的url、status_code两个属性来判断。当status_code为301、302或其他代表重定向的代码时,表示原请求被重定向;当response对象的url属性与发送请求时的链接不一致时,也说明了原请求被重定向且已经自动处理。
解决网页重定向问题后还需要注意的是,同一个IP频繁操作,必然会导致IP受限,不过现在这也不算问题,因为市面上的代理IP基本都可以解决这个问题。
只要选择优质的代理服务商,用代理IP就能将问题迎刃而解。
相关文章内容简介
1 爬虫遭遇重定向如何解决?
现在网站对爬虫的限制是越来越多,因为大家都不希望自己的私密数据被其他人恶意获取。但是道高一尺魔高一丈,代理IP能够为爬虫工作者省下不少烦恼。 爬虫在爬取页面时可能遇到了网页被重定向的情况,所谓重定向(Redirect)就是通过各种方法将各种网络请求重新转到其它位置(URL)。每个网站主页是网站资源的入口,当重定向发生在网站主页时,如... [阅读全文]
最新标签
推荐阅读
06
2018-08
代理IP有哪些用途?
网络发展得非常迅速,互联网时代,电脑端跟手机端都会有一个IP地址,这个IP就是我们在使用设备进行网络操作的时候的一个身份认证。这是网络通过IP来识别不同的客户端的途径。
22
2019-11
前嗅ForeSider中的IP代理设定,配备静态数据IP源
前嗅ForeSider中的IP代理设定,配备静态数据IP源
22
2019-11
科谱時间到啦!IP代理的原理是如何的呢?盆友
06
2018-08
黑洞代理的优势介绍
黑洞代理,独特的动态拨号软件,支持安卓各个系统和模拟器,一键启用加速,安装即可使用,操作简单易用,稳定、安全、可靠的IP代理软件。全国千万IP,二十多个省份一百多个城市的动态
热门文章
在线咨询
客户经理
公众号
关注公众号,免费领试用
大客户