python通过伪装头部数据抵抗反爬虫的实例


Posted in Python onMay 07, 2018

0x00 环境

系统环境:win10

编写工具:JetBrains PyCharm Community Edition 2017.1.2 x64

python 版本:python-3.6.2

抓包工具:Fiddler 4

0x01 头部数据伪装思路

通过http向服务器提交数据,以下是通过Fiddler 抓取python没有伪装的报文头信息

GET /u012870721 HTTP/1.1
Accept-Encoding: identity
Host: blog.csdn.net
User-Agent: <span style="color:#ff0000;">Python-urllib/3.6</span>
Connection: close

Python-urllib/3.6

很明显啊,我们暴露了。现在要问了,该怎么!模拟浏览器,让自己伪装成浏览器,一下是浏览器访问发送的头部数据

Connection: keep-alive
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36
Referer: http://write.blog.csdn.net/postlist
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.8

0x02代码实现

from urllib import request
html_url = "http://blog.csdn.net/u012870721";
#伪装构造头
header ={
 "Connection": "keep-alive",
 "Upgrade-Insecure-Requests": "1",
 "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36",
 "Accept":" text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8",
 "Accept-Encoding": "gzip,deflate",
 "Accept-Language": "zh-CN,zh;q=0.8"
};

#int main()
#{
req = request.Request(url=html_url, headers=header);

resp = request.urlopen(req);
# return 0;
# }

伪装后进行发送的信息头

GET /u012870721 HTTP/1.1 
Host: blog.csdn.net 
Connection: close 
Upgrade-Insecure-Requests: 1 
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36 
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8 
Accept-Encoding: gzip,deflate 
Accept-Language: zh-CN,zh;q=0.8

以上这篇python通过伪装头部数据抵抗反爬虫的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python全局变量操作详解
Apr 14 Python
python判断一个集合是否包含了另外一个集合中所有项的方法
Jun 30 Python
Python简单实现子网掩码转换的方法
Apr 13 Python
python监控文件并且发送告警邮件
Jun 21 Python
python3.6数独问题的解决
Jan 21 Python
python tkinter实现界面切换的示例代码
Jun 14 Python
python区块及区块链的开发详解
Jul 03 Python
nginx黑名单和django限速,最简单的防恶意请求方法分享
Aug 09 Python
Python实现大数据收集至excel的思路详解
Jan 03 Python
Python任务自动化工具tox使用教程
Mar 17 Python
Python制作表白爱心合集
Jan 22 Python
Python线程池与GIL全局锁实现抽奖小案例
Apr 13 Python
Django Web开发中django-debug-toolbar的配置以及使用
May 06 #Python
python安装模块如何通过setup.py安装(超简单)
May 05 #Python
python实现守护进程、守护线程、守护非守护并行
May 05 #Python
Linux(Redhat)安装python3.6虚拟环境(推荐)
May 05 #Python
Python3中的json模块使用详解
May 05 #Python
Python 编码规范(Google Python Style Guide)
May 05 #Python
python 编码规范整理
May 05 #Python
You might like
一个域名查询的程序
2006/10/09 PHP
php heredoc和phpwind的模板技术使用方法小结
2008/03/28 PHP
php加水印的代码(支持半透明透明打水印,支持png透明背景)
2013/01/17 PHP
Yii框架调试心得--在页面输出执行sql语句
2014/12/25 PHP
php单例模式实现方法分析
2015/03/14 PHP
PHP基于mcript扩展实现对称加密功能示例
2019/02/21 PHP
PHP使用递归按层级查找数据的方法
2019/11/10 PHP
PHP pthreads v3下的Volatile简介与使用方法示例
2020/02/21 PHP
jQuery回车实现登录简单实现
2013/08/20 Javascript
jquery实现图片按比例缩放示例
2014/07/01 Javascript
JS 使用for循环遍历子节点查找元素
2014/09/06 Javascript
Javascript中3个需要注意的运算符
2015/04/02 Javascript
angularjs 源码解析之injector
2016/08/22 Javascript
JavaScript中全选、全不选、反选、无刷新删除、批量删除、即点即改入库(在yii框架中操作)的代码分享
2016/11/01 Javascript
网站发布后Bootstrap框架引用woff字体无法正常显示的解决方法
2016/11/24 Javascript
详解如何在angular2中获取节点
2017/11/23 Javascript
vue+element-ui+ajax实现一个表格的实例
2018/03/09 Javascript
Vue兼容ie9的问题全面解决方案
2018/06/19 Javascript
[14:36]2014 DOTA2国际邀请赛中国区预选赛5.21 Orenda VS NE
2014/05/22 DOTA
python中尾递归用法实例详解
2015/04/28 Python
PyCharm在win10的64位系统安装实例
2017/11/26 Python
使用apiDoc实现python接口文档编写
2019/11/19 Python
python中@contextmanager实例用法
2021/02/07 Python
日本PLST在线商店:日本时尚杂志刊载的人气服装
2016/12/10 全球购物
饿了么订餐官网:外卖、网上订餐
2019/06/28 全球购物
天游软件面试
2013/11/23 面试题
EJB面试题
2015/07/28 面试题
初二政治教学反思
2014/01/12 职场文书
宝宝周岁宴答谢词
2014/01/26 职场文书
社区学习党的群众路线教育实践活动心得体会
2014/11/03 职场文书
教师“一帮一”结对子活动总结
2015/05/07 职场文书
毕业论文致谢怎么写
2015/05/14 职场文书
高中生军训感言
2015/08/01 职场文书
导游词之桂林
2019/08/20 职场文书
如何使用flask将模型部署为服务
2021/05/13 Python
Golang流模式之grpc的四种数据流
2022/04/13 Golang