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 中 Meta Classes详解
Feb 13 Python
python微信跳一跳系列之自动计算跳一跳距离
Feb 26 Python
Python查找最长不包含重复字符的子字符串算法示例
Feb 13 Python
Python基础学习之时间转换函数用法详解
Jun 18 Python
python 上下文管理器及自定义原理解析
Nov 19 Python
利用keras加载训练好的.H5文件,并实现预测图片
Jan 24 Python
TensorFlow基本的常量、变量和运算操作详解
Feb 03 Python
django3.02模板中的超链接配置实例代码
Feb 04 Python
python中数字是否为可变类型
Jul 08 Python
Python通过fnmatch模块实现文件名匹配
Sep 30 Python
python用tkinter实现一个gui的翻译工具
Oct 26 Python
python使用openpyxl库读写Excel表格的方法(增删改查操作)
May 02 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_screw 1.5:php加密: 安装与使用详解
2013/06/20 PHP
PHP如何利用P3P实现跨域
2013/08/24 PHP
PHP改进计算字符串相似度的函数similar_text()、levenshtein()
2014/10/27 PHP
PHP中常见的缓存技术实例分析
2015/09/23 PHP
PNG背景在不同浏览器下的应用
2009/06/22 Javascript
textarea中的手动换行处理的jquery代码
2011/02/26 Javascript
仿谷歌主页js动画效果实现代码
2013/07/14 Javascript
JQuery插件开发示例代码
2013/11/06 Javascript
js中Math之random,round,ceil,floor的用法总结
2013/12/26 Javascript
Javascript模块化编程详解
2014/12/01 Javascript
ztree获取当前选中节点子节点id集合的方法
2015/02/12 Javascript
JS对象与JSON互转换、New Function()、 forEach()、DOM事件流等js开发基础小结
2017/08/10 Javascript
Angular 5.0 来了! 有这些大变化
2017/11/15 Javascript
VueAwesomeSwiper在VUE中的使用以及遇到的一些问题
2018/01/11 Javascript
Vue 中的compile操作方法
2018/02/26 Javascript
Vue 实现展开折叠效果的示例代码
2018/08/27 Javascript
使用vue.js在页面内组件监听scroll事件的方法
2018/09/11 Javascript
状态机的概念和在Python下使用状态机的教程
2015/04/11 Python
Python部署web开发程序的几种方法
2017/05/05 Python
python 列表转为字典的两个小方法(小结)
2019/06/28 Python
Python3 venv搭建轻量级虚拟环境的步骤(图文)
2019/08/09 Python
如何验证python安装成功
2020/07/06 Python
如何利用python检测图片是否包含二维码
2020/10/15 Python
关于python3.9安装wordcloud出错的问题及解决办法
2020/11/02 Python
CSS3制作日历实现代码
2012/01/21 HTML / CSS
某公司.Net方向面试题
2014/04/24 面试题
shell变量的作用空间是什么
2013/08/17 面试题
寒假家长评语大全
2014/04/16 职场文书
论文评语大全
2014/04/29 职场文书
安全生产知识竞赛活动总结
2014/07/07 职场文书
政风行风整改方案
2014/10/25 职场文书
2014年创卫工作总结
2014/11/24 职场文书
卫生院义诊活动总结
2015/05/07 职场文书
2015年乡镇卫生院妇幼保健工作总结
2015/05/19 职场文书
Golang 空map和未初始化map的注意事项说明
2021/04/29 Golang
Python基础之数据类型知识汇总
2021/05/18 Python