Python3爬虫学习之应对网站反爬虫机制的方法分析


Posted in Python onDecember 12, 2018

本文实例讲述了Python3爬虫学习之应对网站反爬虫机制的方法。分享给大家供大家参考,具体如下:

如何应对网站的反爬虫机制

在访问某些网站的时候,网站通常会用判断访问是否带有头文件来鉴别该访问是否为爬虫,用来作为反爬取的一种策略。

例如打开搜狐首页,先来看一下Chrome的头信息(F12打开开发者模式)如下:

Python3爬虫学习之应对网站反爬虫机制的方法分析

如图,访问头信息中显示了浏览器以及系统的信息(headers所含信息众多,具体可自行查询)

Python中urllib中的request模块提供了模拟浏览器访问的功能,代码如下:

from urllib import request
url = 'http://www.baidu.com'
# page = request.Request(url)
# page.add_header('User-Agent', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36')
headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36'}
page = request.Request(url, headers=headers)
page_info = request.urlopen(page).read().decode('utf-8')
print(page_info)

可以通过add_header(key, value) 或者直接以参数的形式和URL一起请求访问,

urllib.request.Request()
urllib.request.Request(url, data=None, headers={}, origin_req_host=None, unverifiable=False, method=None)

其中headers是一个字典,通过这种方式可以将爬虫模拟成浏览器对网站进行访问。
https://docs.python.org/3/library/urllib.request.html?highlight=request#module-urllib.request

更多关于Python相关内容可查看本站专题:《Python Socket编程技巧总结》、《Python正则表达式用法总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
Python计算斗牛游戏概率算法实例分析
Sep 26 Python
python pandas 如何替换某列的一个值
Jun 09 Python
python排序函数sort()与sorted()的区别
Sep 18 Python
python+openCV利用摄像头实现人员活动检测
Jun 22 Python
使用Python和Scribus创建一个RGB立方体的方法
Jul 17 Python
keras的三种模型实现与区别说明
Jul 03 Python
Python3爬虫中Splash的知识总结
Jul 10 Python
Python fileinput模块如何逐行读取多个文件
Oct 05 Python
Python中pass的作用与使用教程
Nov 13 Python
用Python远程登陆服务器的步骤
Apr 16 Python
Python使用scapy模块发包收包
May 07 Python
浅析Python OpenCV三种滤镜效果
Apr 11 Python
python实现简单多人聊天室
Dec 11 #Python
在python中利用KNN实现对iris进行分类的方法
Dec 11 #Python
python 划分数据集为训练集和测试集的方法
Dec 11 #Python
Python sklearn KFold 生成交叉验证数据集的方法
Dec 11 #Python
想学python 这5本书籍你必看!
Dec 11 #Python
对python中数据集划分函数StratifiedShuffleSplit的使用详解
Dec 11 #Python
Python3爬虫学习入门教程
Dec 11 #Python
You might like
异世界新番又来了,同样是从零开始,男主的年龄降到5岁
2020/04/09 日漫
PHP数据类型的总结分析
2013/06/13 PHP
thinkphp中ajax与php响应过程详解
2014/12/08 PHP
Yii2.0 模态弹出框+ajax提交表单
2016/05/22 PHP
PHP中的密码加密的解决方案总结
2016/10/26 PHP
mongodb和php的用法详解
2019/03/25 PHP
javascript编程起步(第七课)
2007/02/27 Javascript
javascript中对Attr(dom中属性)的操作示例讲解
2013/12/02 Javascript
使用js实现的简单拖拽效果
2015/03/18 Javascript
使用PHP+JavaScript将HTML页面转换为图片的实例分享
2016/04/18 Javascript
javascript获取select标签选中的值
2016/06/04 Javascript
浅谈JS继承_寄生式继承 & 寄生组合式继承
2016/08/16 Javascript
JavaScript基于对象去除数组重复项的方法
2016/10/09 Javascript
浅析vue数据绑定
2017/01/17 Javascript
Javascript 实现匿名递归的实例代码
2017/05/25 Javascript
js实现文字列表无缝滚动效果
2017/06/23 Javascript
react native 获取地理位置的方法示例
2018/08/28 Javascript
关于Vue Router中路由守卫的应用及在全局导航守卫中检查元字段的方法
2018/12/09 Javascript
vue+koa2实现session、token登陆状态验证的示例
2019/08/30 Javascript
js常用方法、检查是否有特殊字符串、倒序截取字符串操作完整示例
2020/01/26 Javascript
Python实现Windows上气泡提醒效果的方法
2015/06/03 Python
通过python-pptx模块操作ppt文件的方法
2020/12/26 Python
英国最受欢迎的在线隐形眼镜商店:VisionDirect.co.uk
2018/12/06 全球购物
美国知名的隐形眼镜电商:Contacts America
2019/11/19 全球购物
ANINE BING官方网站:奢华的衣橱基本款和时尚永恒的单品
2019/11/26 全球购物
一个J2EE项目团队的主要人员组成是什么
2012/06/04 面试题
学院书画协会部门岗位职责
2013/12/01 职场文书
环保公益广告语
2014/03/13 职场文书
银行党员批评与自我批评
2014/10/15 职场文书
北京故宫导游词
2015/01/31 职场文书
办公用品质量保证书
2015/05/11 职场文书
2015年学校教科室工作总结
2015/07/20 职场文书
医院岗前培训心得体会
2016/01/08 职场文书
详解缓存穿透击穿雪崩解决方案
2021/05/28 Redis
阿里云服务器部署mongodb的详细过程
2021/09/04 MongoDB
微信小程序APP页面的之间的相互传递参数以及自定义组件
2022/04/19 Javascript