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生成器的使用方法
Nov 21 Python
sqlalchemy对象转dict的示例
Apr 22 Python
Python常用的爬虫技巧总结
Mar 28 Python
使用Python正则表达式操作文本数据的方法
May 14 Python
Django admin model 汉化显示文字的实现方法
Aug 12 Python
wxPython实现文本框基础组件
Nov 18 Python
基于python生成英文版词云图代码实例
May 16 Python
Android Q之气泡弹窗的实现示例
Jun 23 Python
Python生成器generator原理及用法解析
Jul 20 Python
Python map及filter函数使用方法解析
Aug 06 Python
python实现求纯色彩图像的边框
Apr 08 Python
使用Python+OpenCV进行卡类型及16位卡号数字的OCR功能
Aug 30 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
浅析ThinkPHP中的pathinfo模式和URL重写
2014/01/06 PHP
php操作redis缓存方法分享
2015/06/03 PHP
PHP中遇到的时区问题解决方法
2015/07/23 PHP
使用ltrace工具跟踪PHP库函数调用的方法
2016/04/25 PHP
Laravel 5.3 学习笔记之 错误&日志
2016/08/28 PHP
Nigma vs Alliance BO5 第一场2.14
2021/03/10 DOTA
Code:findPosX 和 findPosY
2006/12/20 Javascript
jQuery中与toggleClass等价的程序段 以及未来学习的方向
2010/03/18 Javascript
FireBug 调试JS入门教程 如何调试JS
2013/12/23 Javascript
分享一则javascript 调试技巧
2015/01/02 Javascript
BootStrap学习系列之Bootstrap Typeahead 组件实现百度下拉效果(续)
2016/07/07 Javascript
jquery ui sortable拖拽后保存位置
2017/04/27 jQuery
js+html实现周岁年龄计算器
2019/06/25 Javascript
详解vue中多个有顺序要求的异步操作处理
2019/10/29 Javascript
jquery实现点击弹出对话框
2020/02/08 jQuery
Python多线程实例教程
2014/09/06 Python
Python实现监控程序执行时间并将其写入日志的方法
2015/06/30 Python
深入理解NumPy简明教程---数组3(组合)
2016/12/17 Python
使用python 爬虫抓站的一些技巧总结
2018/01/10 Python
python opencv设置摄像头分辨率以及各个参数的方法
2018/04/02 Python
python 输出所有大小写字母的方法
2019/01/02 Python
Python3实现的判断回文链表算法示例
2019/03/08 Python
在Python中构建增广矩阵的实现方法
2019/07/01 Python
python基于pdfminer库提取pdf文字代码实例
2019/08/15 Python
使用Python生成200个激活码的实现方法
2019/11/22 Python
Django框架之中间件MiddleWare的实现
2019/12/30 Python
python实现删除列表中某个元素的3种方法
2020/01/15 Python
新建文件时Pycharm中自动设置头部模板信息的方法
2020/04/17 Python
通过案例解析python鸭子类型相关原理
2020/10/10 Python
CSS3制作圆形滚动进度条动画的示例
2020/11/05 HTML / CSS
Sofmap官网:日本著名的数码电器专卖店
2017/05/19 全球购物
在对linux系统分区进行格式化时需要对磁盘簇(或i节点密度)的大小进行选择,请说明选择的原则
2012/11/24 面试题
营销与策划应届生求职信
2013/11/04 职场文书
中学生评语大全
2014/04/18 职场文书
关于保护环境的建议书
2014/05/13 职场文书
公司合并协议书范本
2014/09/30 职场文书