python网络爬虫之如何伪装逃过反爬虫程序的方法


Posted in Python onNovember 23, 2017

有的时候,我们本来写得好好的爬虫代码,之前还运行得Ok, 一下子突然报错了。

报错信息如下:

Http 800 Internal internet error

这是因为你的对象网站设置了反爬虫程序,如果用现有的爬虫代码,会被拒绝。

之前正常的爬虫代码如下:

from urllib.request import urlopen
...
html = urlopen(scrapeUrl)
bsObj = BeautifulSoup(html.read(), "html.parser")

这个时候,需要我们给我们的爬虫代码做下伪装,

给它添加表头伪装成是来自浏览器的请求

修改后的代码如下:

import urllib.parse
import urllib.request
from bs4 import BeautifulSoup
...
req = urllib.request.Request(scrapeUrl)
req.add_header('User-Agent', 'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)') 
response = urllib.request.urlopen(req) 
html = response.read()
 
bsObj = BeautifulSoup(html, "html.parser")

Ok,一切搞定,又可以继续爬了。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python set集合类型操作总结
Nov 07 Python
Python语言实现机器学习的K-近邻算法
Jun 11 Python
python实现文件路径和url相互转换的方法
Jul 06 Python
python函数中return后的语句一定不会执行吗?
Jul 06 Python
Numpy中矩阵matrix读取一列的方法及数组和矩阵的相互转换实例
Jul 02 Python
对python调用RPC接口的实例详解
Jan 03 Python
python 计算一个字符串中所有数字的和实例
Jun 11 Python
Python PyCharm如何进行断点调试
Jul 05 Python
Python列表list操作相关知识小结
Jan 29 Python
python GUI库图形界面开发之PyQt5滑块条控件QSlider详细使用方法与实例
Feb 28 Python
Python post请求实现代码实例
Feb 28 Python
Python正则表达式高级使用方法汇总
Jun 18 Python
Python实现的基数排序算法原理与用法实例分析
Nov 23 #Python
Scrapy抓取京东商品、豆瓣电影及代码分享
Nov 23 #Python
python简单图片操作:打开\显示\保存图像方法介绍
Nov 23 #Python
python分析作业提交情况
Nov 22 #Python
Python分析学校四六级过关情况
Nov 22 #Python
linux环境下的python安装过程图解(含setuptools)
Nov 22 #Python
python使用正则表达式替换匹配成功的组并输出替换的次数
Nov 22 #Python
You might like
PHP实现上传文件并存进数据库的方法
2015/07/16 PHP
jQuery+PHP发布的内容进行无刷新分页(Fckeditor)
2015/10/22 PHP
PHP基于单例模式实现的mysql类
2016/01/09 PHP
解放web程序员的输入验证
2006/10/06 Javascript
jscript之List Excel Color Values
2007/06/13 Javascript
JQuery SELECT单选模拟jQuery.select.js
2009/11/12 Javascript
javascript开发中因空格引发的错误
2010/11/08 Javascript
JavaScript中两个感叹号的作用说明
2011/12/28 Javascript
深入理解JavaScript系列(6):S.O.L.I.D五大原则之单一职责SRP
2012/01/15 Javascript
如何使用Javascript正则表达式来格式化XML内容
2013/07/04 Javascript
JavaScript 数组详解
2013/10/10 Javascript
jquery的ajax和getJson跨域获取json数据的实现方法
2014/02/04 Javascript
使用JavaScript 实现的人脸检测
2015/03/24 Javascript
JavaScript实现彩虹文字效果的方法
2015/04/16 Javascript
JavaScript跨域调用基于JSON的RESTful API
2016/07/09 Javascript
javascript 判断页面访问方式电脑或者移动端
2016/09/19 Javascript
基于Node的React图片上传组件实现实例代码
2017/05/10 Javascript
在Vue-cli里应用Vuex的state和mutations方法
2018/09/16 Javascript
JS 音频可视化插件Wavesurfer.js的使用教程
2018/10/31 Javascript
关于vue的npm run dev和npm run build的区别介绍
2019/01/14 Javascript
解决vue使用vant下拉框van-dropdown-item 绑定title值不变问题
2020/08/05 Javascript
[04:11]DOTA2亚洲邀请赛小组赛第一日 TOP10精彩集锦
2015/01/30 DOTA
Python序列循环移位的3种方法推荐
2018/04/09 Python
实例讲解Python爬取网页数据
2018/07/08 Python
python interpolate插值实例
2020/07/06 Python
Python 日期与时间转换的方法
2020/08/01 Python
Pycharm github配置实现过程图解
2020/10/13 Python
英国简约舒适女装品牌:Great Plains
2018/07/27 全球购物
Bath & Body Works阿联酋:在线购买沐浴和身体用品
2021/02/27 全球购物
党员年终民主评议的自我评价
2013/11/05 职场文书
医学类导师推荐信范文
2013/11/19 职场文书
简历里的自我评价
2014/01/31 职场文书
网络工程师职业规划
2014/02/10 职场文书
百家讲坛观后感
2015/06/12 职场文书
Python基本数据类型之字符串str
2021/07/21 Python
阿里云服务器Ubuntu 20.04上安装Odoo 15
2022/05/20 Servers