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写入中英文字符串到文件的方法
May 06 Python
Python 包含汉字的文件读写之每行末尾加上特定字符
Dec 12 Python
Python 装饰器深入理解
Mar 16 Python
Python进程间通信Queue实例解析
Jan 25 Python
python3写的简单本地文件上传服务器实例
Jun 04 Python
python实现植物大战僵尸游戏实例代码
Jun 10 Python
利用Python库Scapy解析pcap文件的方法
Jul 23 Python
python 下 CMake 安装配置 OPENCV 4.1.1的方法
Sep 30 Python
python验证码图片处理(二值化)
Nov 01 Python
Tensorflow获取张量Tensor的具体维数实例
Jan 19 Python
python的reverse函数翻转结果为None的问题
May 11 Python
使用Python爬取Json数据的示例代码
Dec 07 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/10/22 PHP
[原创]解决wincache不支持64位PHP5.5/5.6的问题(提供64位wincache下载)
2016/06/22 PHP
Zend Framework过滤器Zend_Filter用法详解
2016/12/09 PHP
JAVASCRIPT对象及属性
2007/02/13 Javascript
打造基于jQuery的高性能TreeView(asp.net)
2011/02/23 Javascript
点弹代码 点击页面任何位置都可以弹出页面效果代码
2012/09/17 Javascript
JS和jquery获取各种屏幕的宽度和高度的代码
2013/08/02 Javascript
javascript动态添加、修改、删除对象的属性与方法详解
2014/01/27 Javascript
jquery trigger伪造a标签的click事件取代window.open方法
2014/06/23 Javascript
Node.js中调用mysql存储过程示例
2014/12/20 Javascript
尝试动手制作javascript放大镜效果
2015/12/25 Javascript
WebPack基础知识详解
2017/01/16 Javascript
jquery实现焦点轮播效果
2017/02/23 Javascript
vue中SPA单页面应用程序详解
2017/11/07 Javascript
详解Vue 中 extend 、component 、mixins 、extends 的区别
2017/12/20 Javascript
小程序兼容安卓和IOS数据处理问题及坑
2018/09/18 Javascript
vscode下的vue文件格式化问题
2018/11/28 Javascript
Vue源码解析之数组变异的实现
2018/12/04 Javascript
[06:24]DOTA2亚洲邀请赛小组赛第三日 TOP10精彩集锦
2015/02/01 DOTA
pandas series序列转化为星期几的实例
2018/04/11 Python
python range()函数取反序遍历sequence的方法
2018/06/25 Python
Windows 64位下python3安装nltk模块
2018/09/19 Python
基于python实现名片管理系统
2018/11/30 Python
python实现对输入的密文加密
2019/03/20 Python
解决win7操作系统Python3.7.1安装后启动提示缺少.dll文件问题
2019/07/15 Python
python数组循环处理方法
2019/08/26 Python
python使用pip安装SciPy、SymPy、matplotlib教程
2019/11/20 Python
为什么python比较流行
2020/06/19 Python
Amcal中文官网:澳洲综合性连锁药房
2019/03/28 全球购物
ECCO俄罗斯官网:北欧丹麦鞋履及皮具品牌
2020/06/26 全球购物
叙述DBMS对数据控制功能有哪些
2016/06/12 面试题
幼儿园实习生辞职信
2014/01/20 职场文书
终止劳动合同证明书样本
2014/11/19 职场文书
初中体育教学随笔
2015/08/15 职场文书
2016年师德学习心得体会
2016/01/12 职场文书
浅谈Python numpy创建空数组的问题
2021/05/25 Python