注册会员   登录
代理IP知识问答
如何解决爬虫工作中遇到的403错误
提问时间:2018/1/2 17:15:47    楼主:未知网友   阅读量:226
随着互联网的普及和发展,各种数据集中在互联网上,面对如此庞大的数据信息,如何进行采集、分析、归纳及分类呢,人工方法肯定不可取,效率太差。这时候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,这是使用的比较多的方法。

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


友情链接 (合作QQ207309712):  代理IP知识问答  每日免费代理IP  网站地图


警告:本站不搜集数据不存储数据,也不买卖数据,本站资源仅限用来计算机技术学习参考及大数据应用等合法行为,用户所有操作行为均有日志记录存档并保留6个月,用户若擅自利用本站资源从事任何违反本国(地区)法律法规的活动,由此引起的一切后果与本站无关。

©CopyRight 2012-2018    ICP备案/ICP经营许可证:辽B2-20180026   VPN经营许可证:B1-20181940   
 
客服QQ:207309712   投诉建议:2219765152    站大爷交流群:417568497    开发者交流群:343030927