python 爬虫出现403禁止访问错误详解


Posted in Python onMarch 11, 2017

python 爬虫解决403禁止访问错误

在Python写爬虫的时候,html.getcode()会遇到403禁止访问的问题,这是网站对自动化爬虫的禁止,要解决这个问题,需要用到python的模块urllib2模块

urllib2模块是属于一个进阶的爬虫抓取模块,有非常多的方法,比方说连接url=//3water.com/qysh123对于这个连接就有可能出现403禁止访问的问题

解决这个问题,需要以下几步骤:

<span style="font-size:18px;">req = 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","//3water.com/")

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

然后

html=urllib2.urlopen(req)


print html.read()

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

对于以上问题,可以封装成函数,供以后调用方便使用,具体代码:

#-*-coding:utf-8-*- 
 
import urllib2 
import random 
 
url="//3water.com/article/1.htm" 
 
my_headers=["Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36", 
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.153 Safari/537.36", 
"Mozilla/5.0 (Windows NT 6.1; WOW64; rv:30.0) Gecko/20100101 Firefox/30.0" 
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_2) AppleWebKit/537.75.14 (KHTML, like Gecko) Version/7.0.3 Safari/537.75.14", 
"Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Win64; x64; Trident/6.0)" 
  
] 
def get_content(url,headers): 
 ''''' 
 @获取403禁止访问的网页 
 ''' 
 randdom_header=random.choice(headers) 
 
 req=urllib2.Request(url) 
 req.add_header("User-Agent",randdom_header) 
 req.add_header("Host","blog.csdn.net") 
 req.add_header("Referer","//3water.com/") 
 req.add_header("GET",url) 
 
 content=urllib2.urlopen(req).read() 
 return content 
 
print get_content(url,my_headers)

其中用到了random随机函数,自动获取已经写好的浏览器类型的User-Agent信息,在自定义函数中需要写出自己的Host,Referer,GET信息等,解决这几个问题,就可以顺利访问了,不再出现403访问的信息。

当然如果访问频率过快的话,有些网站还是会过滤的,解决这个需要用到代理IP的方法。。。具体的自己解决

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

Python 相关文章推荐
python新手经常遇到的17个错误分析
Jul 30 Python
python编写的最短路径算法
Mar 25 Python
在Python操作时间和日期之asctime()方法的使用
May 22 Python
python解决js文件utf-8编码乱码问题(推荐)
May 02 Python
Python 使用PIL中的resize进行缩放的实例讲解
Aug 03 Python
浅谈numpy生成数组的零值问题
Nov 12 Python
python对绑定事件的鼠标、按键的判断实例
Jul 17 Python
python爬虫 模拟登录人人网过程解析
Jul 31 Python
PyQtGraph在pyqt中的应用及安装过程
Aug 04 Python
python3实现带多张图片、附件的邮件发送
Aug 10 Python
django中使用事务及接入支付宝支付功能
Sep 15 Python
详解Django中 render() 函数的使用方法
Apr 22 Python
Python如何读取MySQL数据库表数据
Mar 11 #Python
python3.5 + PyQt5 +Eric6 实现的一个计算器代码
Mar 11 #Python
Python搭建HTTP服务器和FTP服务器
Mar 09 #Python
开源Web应用框架Django图文教程
Mar 09 #Python
Python运算符重载详解及实例代码
Mar 07 #Python
利用Python中的pandas库对cdn日志进行分析详解
Mar 07 #Python
python下os模块强大的重命名方法renames详解
Mar 07 #Python
You might like
php cli 方式 在crotab中运行解决
2010/02/08 PHP
利用PHP实现智能文件类型检测的实现代码
2011/08/02 PHP
什么是OneThink oneThink后台添加插件步骤
2016/04/13 PHP
javascript 读取XML数据,在页面中展现、编辑、保存的实现
2009/10/27 Javascript
JQuery中$.each 和$(selector).each()的区别详解
2015/03/13 Javascript
JavaScript获取当前cpu使用率的方法
2015/12/15 Javascript
jQuery判断checkbox选中状态
2016/05/12 Javascript
AngularJS基础 ng-keyup 指令简单示例
2016/08/02 Javascript
关于动态执行代码(js的Eval)实例详解
2016/08/15 Javascript
JS常用函数和常用技巧小结
2016/10/15 Javascript
微信开发 js实现tabs选项卡效果
2016/10/28 Javascript
BootStrap 下拉菜单点击之后不会出现下拉菜单(下拉菜单不弹出)的解决方案
2016/12/14 Javascript
Three.js获取鼠标点击的三维坐标示例代码
2017/03/24 Javascript
基于js 本地存储(详解)
2017/08/16 Javascript
vue2.0 和 animate.css的结合使用
2017/12/12 Javascript
vue-cli webpack模板项目搭建及打包时路径问题的解决方法
2018/02/26 Javascript
vue.js input框之间赋值方法
2018/08/24 Javascript
ES6基础之展开语法(Spread syntax)
2019/02/21 Javascript
jQuery事件blur()方法的使用实例讲解
2019/03/30 jQuery
[36:22]VP vs Serenity 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
python获取当前计算机cpu数量的方法
2015/04/18 Python
对Python3中的print函数以及与python2的对比分析
2018/05/02 Python
Python使用try except处理程序异常的三种常用方法分析
2018/09/05 Python
python学生信息管理系统实现代码
2019/12/17 Python
python实现贪吃蛇双人大战
2020/04/18 Python
解决python中0x80072ee2错误的方法
2020/07/19 Python
linux系统下pip升级报错的解决方法
2021/01/31 Python
世界上最大的乐器零售商:Guitar Center
2017/11/07 全球购物
澳大利亚制造的蜡烛和扩散器:Glasshouse Fragrances
2018/05/20 全球购物
Notino匈牙利:购买香水和化妆品
2019/04/12 全球购物
机械工程师求职自我评价
2013/09/23 职场文书
幼儿如何来做好自我评价
2013/11/05 职场文书
领导干部对照检查材料
2014/08/24 职场文书
国家税务局领导班子对照检查材料思想汇报
2014/10/04 职场文书
党的群众路线剖析材料
2014/10/09 职场文书
离婚答辩状范文
2015/05/22 职场文书