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版
Dec 07 Python
Python中的Numpy入门教程
Apr 26 Python
python中MySQLdb模块用法实例
Nov 10 Python
Scrapy爬虫实例讲解_校花网
Oct 23 Python
基于Django框架的权限组件rbac实例讲解
Aug 31 Python
numpy实现神经网络反向传播算法的步骤
Dec 24 Python
django2.2 和 PyMySQL版本兼容问题
Feb 17 Python
python 如何调用 dubbo 接口
Sep 24 Python
用python读取xlsx文件
Dec 17 Python
如何通过安装HomeBrew来安装Python3
Dec 23 Python
如何用python实现一个HTTP连接池
Jan 14 Python
Python开发工具Pycharm的安装以及使用步骤总结
Jun 24 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环境搭建最新方法
2006/09/05 PHP
php的sprintf函数的用法 控制浮点数格式
2014/02/14 PHP
在win系统安装配置 Memcached for PHP 5.3 图文教程
2015/03/03 PHP
WordPress中获取页面链接和标题的相关PHP函数用法解析
2015/12/17 PHP
PHP错误机制知识汇总
2016/03/24 PHP
php 一维数组的循环遍历实现代码
2017/04/10 PHP
Laravel-添加后台模板AdminLte的实现方法
2019/10/08 PHP
php中yar框架实例用法讲解
2020/12/27 PHP
JavaScript 学习笔记(七)字符串的连接
2009/12/31 Javascript
JS中产生20位随机数以0-9为例也可以是a-z A-Z
2014/08/01 Javascript
ajax+jQuery实现级联显示地址的方法
2015/05/06 Javascript
Javascript中的对象和原型(二)
2016/08/12 Javascript
seajs学习教程之基础篇
2016/10/20 Javascript
Angularjs中使用layDate日期控件示例
2017/01/11 Javascript
微信小程序 侧滑删除(左滑删除)
2017/05/23 Javascript
使用AngularJS对表单提交内容进行验证的操作方法
2017/07/12 Javascript
关于 angularJS的一些用法
2017/11/29 Javascript
vue iView 上传组件之手动上传功能
2018/03/16 Javascript
vue-loader中引入模板预处理器的实现
2019/09/04 Javascript
js实现整体缩放页面适配移动端
2020/03/31 Javascript
vue created钩子函数与mounted钩子函数的用法区别
2020/11/05 Javascript
[01:52]深扒TI7聊天轮盘语音出处7
2017/05/11 DOTA
Python time模块详解(常用函数实例讲解,非常好)
2014/04/24 Python
python进阶教程之文本文件的读取和写入
2014/08/29 Python
使用python装饰器计算函数运行时间的实例
2018/04/21 Python
解决Python3 抓取微信账单信息问题
2019/07/19 Python
一款纯css3实现的鼠标悬停动画按钮
2014/12/29 HTML / CSS
新秀丽拉杆箱美国官方网站:Samsonite美国
2016/07/25 全球购物
Becextech新西兰:数码单反相机和手机在线商店
2018/04/27 全球购物
个人职业及收入证明
2014/10/13 职场文书
2014年商场工作总结
2014/11/22 职场文书
2014年艾滋病防治工作总结
2014/12/10 职场文书
员工试用期工作总结
2019/06/20 职场文书
基于Go语言构建RESTful API服务
2021/07/25 Golang
JavaScript的function函数详细介绍
2021/11/20 Javascript
游戏《东方异文石:爱亚利亚黎明》正式版发布
2022/04/03 其他游戏