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基于Tkinter库实现简单文本编辑器实例
May 05 Python
python引用DLL文件的方法
May 11 Python
Python新手们容易犯的几个错误总结
Apr 01 Python
Python中使用多进程来实现并行处理的方法小结
Aug 09 Python
对numpy和pandas中数组的合并和拆分详解
Apr 11 Python
详解Django的model查询操作与查询性能优化
Oct 16 Python
解决pycharm运行时interpreter为空的问题
Oct 29 Python
python使用梯度下降算法实现一个多线性回归
Mar 24 Python
Python 使用Opencv实现目标检测与识别的示例代码
Sep 08 Python
Python爬取豆瓣数据实现过程解析
Oct 27 Python
详解Python中list[::-1]的几种用法
Nov 16 Python
Python实现滑雪小游戏
Sep 25 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中Session可能会引起并发问题
2015/06/26 PHP
php实现简单爬虫的开发
2016/03/28 PHP
PHP实现的多维数组去重操作示例
2018/07/21 PHP
利用404错误页面实现UrlRewrite的实现代码
2008/08/20 Javascript
juqery 学习之四 筛选过滤
2010/11/30 Javascript
JavaScript 选中文字并响应获取的实现代码
2011/08/28 Javascript
jquery 实现上下滚动效果示例代码
2013/08/09 Javascript
js控制当再次点击按钮时的间隔时间
2014/06/03 Javascript
js实现简单的联动菜单效果
2015/08/19 Javascript
jQuery动画显示和隐藏效果实例演示(附demo源码下载)
2015/12/31 Javascript
jQuery siblings()用法实例详解
2016/04/26 Javascript
Vue精简版风格指南(推荐)
2018/01/30 Javascript
webpack配置导致字体图标无法显示的解决方法
2018/03/06 Javascript
vue安装遇到的5个报错及解决方法
2019/06/12 Javascript
vue v-for出来的列表,点击某个li使得当前被点击的li字体变红操作
2020/07/17 Javascript
Vue+ElementUI 中级联选择器Bug问题的解决
2020/07/31 Javascript
JavaScript中变量提升和函数提升的详解
2020/08/07 Javascript
[00:42]《辉夜杯》—职业组预选赛12月3日15点 正式打响
2015/12/03 DOTA
[53:15]Mineski vs iG 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
使用Python内置的模块与函数进行不同进制的数的转换
2016/03/12 Python
Win10+GPU版Pytorch1.1安装的安装步骤
2019/09/27 Python
python中栈的原理及实现方法示例
2019/11/27 Python
Tensorflow: 从checkpoint文件中读取tensor方式
2020/02/10 Python
Django中的DateTimeField和DateField实现
2021/02/24 Python
HTML5实现文件断点续传的方法
2017/01/04 HTML / CSS
加拿大奢华时装品牌:Mackage
2018/01/10 全球购物
Oracle里面常用的数据字典有哪些
2014/02/14 面试题
Linux面试经常问的文件系统操作命令
2016/10/04 面试题
自我鉴定四大框架
2014/01/17 职场文书
致标枪运动员加油稿
2014/02/15 职场文书
合伙协议书范本
2014/04/21 职场文书
一份关于丢失公司财物的检讨书
2014/09/19 职场文书
2014年党员教师自我剖析材料
2014/09/30 职场文书
2014年妇联工作总结
2014/11/21 职场文书
开学随笔
2015/08/15 职场文书
Python超简单容易上手的画图工具库推荐
2021/05/10 Python