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实现的防DDoS脚本
Feb 08 Python
python中list循环语句用法实例
Nov 10 Python
Python装饰器使用示例及实际应用例子
Mar 06 Python
Python基础教程之tcp socket编程详解及简单实例
Feb 23 Python
Django自定义插件实现网站登录验证码功能
Apr 19 Python
Python3编程实现获取阿里云ECS实例及监控的方法
Aug 18 Python
浅谈python日志的配置文件路径问题
Apr 28 Python
python实现京东秒杀功能
Jul 30 Python
python抓取搜狗微信公众号文章
Apr 01 Python
Pandas库之DataFrame使用的学习笔记
Jun 21 Python
详解在python操作数据库中游标的使用方法
Nov 12 Python
Python轻量级web框架bottle使用方法解析
Jun 13 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入门学习知识点二 PHP简单的分页过程与原理
2011/07/14 PHP
thinkphp控制器调度使用示例
2014/02/24 PHP
如何写php守护进程(Daemon)
2015/12/30 PHP
总结PHP中DateTime的常用方法
2016/08/11 PHP
PHP中让json_encode不自动转义斜杠“/”的方法
2017/02/28 PHP
centos下file_put_contents()无法写入文件的原因及解决方法
2017/04/01 PHP
详细解读php的命名空间(二)
2018/02/21 PHP
php如何把表单内容提交到数据库
2019/07/08 PHP
laravel-admin 在列表页添加自定义按钮的例子
2019/09/30 PHP
用js实现计算代码行数的简单方法附代码
2007/08/13 Javascript
JavaScript学习笔记(十)
2010/01/17 Javascript
jQuery 方法大全方便学习参考
2010/02/25 Javascript
基于JQuery 选择器使用说明介绍
2013/04/18 Javascript
JavaScript实现网页对象拖放功能的方法
2015/04/15 Javascript
js+HTML5实现视频截图的方法
2015/06/16 Javascript
jquery实现带渐变淡入淡出并向右依次展开的多级菜单效果实例
2015/08/22 Javascript
Jquery时间轴特效(三种不同类型)
2015/11/02 Javascript
JavaScript中的对象继承关系
2016/08/01 Javascript
fullPage.js和CSS3实现全屏滚动效果
2017/05/05 Javascript
vue快捷键与基础指令详解
2017/06/01 Javascript
使用重写url机制实现验证码换一张功能
2017/08/01 Javascript
angularJs-$http实现百度搜索时的动态下拉框示例
2018/02/27 Javascript
vue自动化表单实例分析
2018/05/06 Javascript
vue后台管理之动态加载路由的方法
2018/08/13 Javascript
详解element-ui中form验证杂记
2019/03/04 Javascript
layer弹出层倒计时关闭的实现方法
2019/09/27 Javascript
JS监听组合按键思路及实现过程
2020/04/17 Javascript
微信小程序国际化探索实现(附源码地址)
2020/05/20 Javascript
[06:25]DOTA2英雄梦之声_第17期_大地之灵
2014/06/20 DOTA
Python面向对象封装操作案例详解
2019/12/31 Python
Python Tricks 使用 pywinrm 远程控制 Windows 主机的方法
2020/07/21 Python
2014庆六一活动方案
2014/03/02 职场文书
经典安踏广告词
2014/03/21 职场文书
讲文明懂礼貌演讲稿
2014/09/11 职场文书
2015年秋季小学开学标语
2015/07/16 职场文书
教学工作总结范文5篇
2019/08/19 职场文书