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实现计算最小编辑距离
Mar 17 Python
python简单线程和协程学习心得(分享)
Jun 14 Python
python+pandas分析nginx日志的实例
Apr 28 Python
浅谈python 读excel数值为浮点型的问题
Dec 25 Python
浅谈Python大神都是这样处理XML文件的
May 31 Python
Django中提供的6种缓存方式详解
Aug 05 Python
Python流程控制 if else实现解析
Sep 02 Python
Python实现仿射密码的思路详解
Apr 23 Python
Python之Matplotlib文字与注释的使用方法
Jun 18 Python
Python的控制结构之For、While、If循环问题
Jun 30 Python
Python数据可视化常用4大绘图库原理详解
Oct 23 Python
如何利用python实现Simhash算法
Jun 28 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
PHP中的session永不过期的解决思路及实现方法分享
2011/04/20 PHP
合并ThinkPHP配置文件以消除代码冗余的实现方法
2014/07/22 PHP
Laravel框架学习笔记(二)项目实战之模型(Models)
2014/10/15 PHP
php数组去除空值函数分享
2015/02/02 PHP
PHP实现的带超时功能get_headers函数
2015/02/10 PHP
php事件驱动化设计详解
2016/11/10 PHP
Yii2框架中一些折磨人的坑
2019/12/15 PHP
WebGame《逆转裁判》完整版 代码下载(1月24日更新)
2007/01/29 Javascript
JavaScript 放大镜 放大倍率和视窗尺寸
2011/05/09 Javascript
读jQuery之九 一些瑕疵说明
2011/06/21 Javascript
jquery中获取select选中值的代码
2011/06/27 Javascript
手机开发必备技巧:javascript及CSS功能代码分享
2015/05/25 Javascript
基于jQuery实现的菜单切换效果
2015/10/16 Javascript
Node.js调试技术总结分享
2017/03/12 Javascript
详解JavaScript对象的深浅复制
2017/03/30 Javascript
nodejs入门教程三:调用内部和外部方法示例
2017/04/24 NodeJs
vue之浏览器存储方法封装实例
2018/03/15 Javascript
jQuery的Ajax接收java返回数据方法
2018/08/11 jQuery
微信小程序上传文件到阿里OSS教程
2019/05/20 Javascript
Python实现识别手写数字 Python图片读入与处理
2020/03/23 Python
使用python实现unix2dos和dos2unix命令的例子
2019/08/13 Python
python Opencv计算图像相似度过程解析
2019/12/03 Python
Python流程控制常用工具详解
2020/02/24 Python
Python 在函数上添加包装器
2020/07/28 Python
python使用隐式循环快速求和的实现示例
2020/09/11 Python
python 基于wx实现音乐播放
2020/11/24 Python
Perfume’s Club德国官网:在线购买香水
2019/04/08 全球购物
美国户外服装和装备购物网站:Outland USA
2020/03/22 全球购物
英国Iceland杂货店:网上食品购物
2020/12/16 全球购物
简单说说tomcat的配置
2013/05/28 面试题
请问软件开发中的设计模式你会使用哪些
2015/05/13 面试题
国窖1573广告词
2014/03/21 职场文书
花坛标语大全
2014/06/30 职场文书
班级光棍节联谊会策划书
2014/10/10 职场文书
中学生旷课检讨书500字
2014/10/29 职场文书
2014年个人教学工作总结
2014/12/09 职场文书