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中实现字符串类型与字典类型相互转换的方法
Aug 18 Python
Python socket C/S结构的聊天室应用实现
Nov 30 Python
Python字符串切片操作知识详解
Mar 28 Python
利用PyInstaller将python程序.py转为.exe的方法详解
May 03 Python
[原创]python爬虫(入门教程、视频教程)
Jan 08 Python
Python实现迭代时使用索引的方法示例
Jun 05 Python
pytorch 获取tensor维度信息示例
Jan 03 Python
Python面向对象编程基础实例分析
Jan 17 Python
浅谈pymysql查询语句中带有in时传递参数的问题
Jun 05 Python
Python中使用subprocess库创建附加进程
May 11 Python
Python中seaborn库之countplot的数据可视化使用
Jun 11 Python
2021年最新用于图像处理的Python库总结
Jun 15 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
回首过去10年中最搞笑的10部动漫,哪一部让你节操尽碎?
2020/03/03 日漫
PHP安装问题
2006/10/09 PHP
PHP利用COM对象访问SQLServer、Access
2006/10/09 PHP
PHP+MySQL5.0中文乱码解决方法
2006/11/20 PHP
php addslashes及其他清除空格的方法是不安全的
2012/01/25 PHP
php实现文件下载功能的几个代码分享
2014/05/10 PHP
AJAX PHP无刷新form表单提交的简单实现(推荐)
2016/09/09 PHP
laravel 修改.htaccess文件 重定向public的解决方法
2019/10/12 PHP
在thinkphp5.0路径中实现去除index.php的方式
2019/10/16 PHP
用 javascript 实现的点击复制代码
2007/03/24 Javascript
javascript新手语法小结
2008/06/15 Javascript
清除网页历史记录,屏蔽后退按钮!
2008/12/22 Javascript
Js中setTimeout()和setInterval() 何时被调用执行的用法
2013/04/12 Javascript
js运动框架_包括图片的淡入淡出效果
2013/05/11 Javascript
JS getAttribute和setAttribute(取得和设置属性)的使用介绍
2013/07/10 Javascript
两个数组去重的JS代码
2013/12/04 Javascript
js实现连个数字相加而不是拼接的方法
2014/02/23 Javascript
jQuery团购倒计时特效实现方法
2015/05/07 Javascript
JavaScript操作表单实例讲解(上)
2016/06/20 Javascript
微信小程序 swiper组件轮播图详解及实例
2016/11/16 Javascript
纯JS代码实现隔行变色鼠标移入高亮
2016/11/23 Javascript
RequireJs的使用详解
2017/02/19 Javascript
JavaScript之面向对象_动力节点Java学院整理
2017/06/29 Javascript
JS实现的走迷宫小游戏完整实例
2017/07/19 Javascript
MUI顶部选项卡的用法(tab-top-webview-main)详解
2017/10/08 Javascript
JavaScript设计模式之单例模式简单实例教程
2018/07/02 Javascript
Python 爬虫学习笔记之单线程爬虫
2016/09/21 Python
django 创建过滤器的实例详解
2017/08/14 Python
Python使用pyautogui模块实现自动化鼠标和键盘操作示例
2018/09/04 Python
django 实现celery动态设置周期任务执行时间
2019/11/19 Python
python使用hdfs3模块对hdfs进行操作详解
2020/06/06 Python
使用CSS3中的calc()属性来以算式表达尺寸数值
2016/06/06 HTML / CSS
牛津在线药房:Oxford Online Pharmacy
2020/11/16 全球购物
奖学金感谢信
2015/01/21 职场文书
win10键盘驱动怎么修复?Win10键盘驱动修复小技巧
2022/04/06 数码科技
移除Selenium中window.navigator.webdriver值
2022/06/10 Python