您的位置:新闻资讯 >文章内容
Python爬虫遇到403怎么解决
来源:本站 作者:jinglingdaili 时间:2018-10-11 16:32:36

随着互联网的普及和发展,各种数据集中在互联网上,面对如此庞大的数据信息,如何进行采集、分析、归纳及分类呢,人工方法肯定不可取,效率太差。这时候Python爬虫开始展露头角,并且迅速成为最受欢迎的爬虫开发语言。


但是,在采集信息时我们经常会遇到一些问题,比如403禁止访问错误。遇到这个问题我们应该如何解决呢?


在Python写爬虫的时候,html.getcode()会遇到403禁止访问的问题,这是网站对自动化爬虫的禁止,要解决这个问题,需要用到Python的模块urllib2模块。urllib2模块是属于一个进阶的爬虫抓取模块,有非常多的方法,比方说连接url=http//blog.xxxx.net/qysh123。对于这个连接就有可能出现403禁止访问的问题,而解决这个问题,需要以下几步骤:

  

span style=font-size18pxreq = urllib2.Request(url) 

req.add_header(User-Agent,Mozilla/5.0 (Windows NT 6.3 WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36) 

req.add_header(GET,url) 

req.add_header(Host,blog.csdn.net) 

req.add_header(Referer,http//blog.xxxx.net/)/span 


其中User-Agent是浏览器特有的属性,通过浏览器查看源代码就可以查看到,然后

html=urllib2.urlopen(req)

print html.read()


就可以把网页代码全部下载下来,而没有了403禁止访问的问题。


其实对于这个问题,可以封装成函数,供以后调用方便使用,这里由于篇幅问题就不贴出全部代码了。其中,用到了random随机函数,自动获取已经写好的浏览器类型的User-Agent信息,在自定义函数中需要写出自己的Host,Referer,GET信息等,解决这几个问题,就可以顺利访问了,不再出现403访问的信息。


当然,如果访问频率过快的话,有些网站还是会过滤的,要解决这个问题,一是降低访问频率,但意味着效率下降,二是采用大量的代理IP,这是使用的比较多的方法。


TIM截图20180927164953.png


精灵代理IP平台专业提供HTTP代理IP服务,有效地解决了爬虫工作受限制问题,HTTP代理IP的出现,使得爬虫工作效率更为高效,更为轻松,更为容易,有效地促进了大数据时代的进程和发展。

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

微信公众号

回到顶部