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程序中使用SQLAlchemy时出现乱码的解决方案
Apr 24 Python
Eclipse中Python开发环境搭建简单教程
Mar 23 Python
python中set常用操作汇总
Jun 30 Python
TensorFlow入门使用 tf.train.Saver()保存模型
Apr 24 Python
python实现归并排序算法
Nov 22 Python
Pandas 重塑(stack)和轴向旋转(pivot)的实现
Jul 22 Python
关于Python中的向量相加和numpy中的向量相加效率对比
Aug 26 Python
python实现简易淘宝购物
Nov 22 Python
pytorch实现对输入超过三通道的数据进行训练
Jan 15 Python
python实现串口通信的示例代码
Feb 10 Python
TensorFLow 数学运算的示例代码
Apr 21 Python
python中的被动信息搜集
Apr 29 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文件打开、关闭、写入的判断与执行代码
2011/05/24 PHP
匹配csdn用户数据库与官方用户的重合度并将重叠部分的用户筛选出来
2011/12/25 PHP
PHP输出英文时间日期的安全方法(RFC 1123格式)
2014/06/13 PHP
php基础设计模式大全(注册树模式、工厂模式、单列模式)
2015/08/31 PHP
PHP析构函数destruct与垃圾回收机制的讲解
2019/03/22 PHP
在页面上点击任一链接时触发一个事件的代码
2007/04/07 Javascript
NodeJS学习笔记之Http模块
2015/01/13 NodeJs
JS实现文字向下滚动完整实例
2015/02/06 Javascript
TypeScript 中接口详解
2015/06/19 Javascript
Ajax清除浏览器js、css、图片缓存的方法
2015/08/06 Javascript
全面解析Bootstrap表单使用方法(表单按钮)
2015/11/24 Javascript
实现JavaScript的组成----BOM和DOM详解
2016/05/18 Javascript
微信小程序 Flex布局详解
2016/10/09 Javascript
jquery.guide.js新版上线操作向导镂空提示jQuery插件(推荐)
2017/05/20 jQuery
SpringMVC+bootstrap table实例详解
2017/06/02 Javascript
JavaScript动态绑定详解
2017/09/14 Javascript
Angular2.0实现modal对话框的方法示例
2018/02/18 Javascript
Javascript实现鼠标点击冒泡特效
2019/12/24 Javascript
解决VUE 在IE下出现ReferenceError: Promise未定义的问题
2020/11/07 Javascript
nodejs+express最简易的连接数据库的方法
2020/12/23 NodeJs
[00:12]2018DOTA2亚洲邀请赛 Somnus丶M出阵单挑
2018/04/06 DOTA
PyQt弹出式对话框的常用方法及标准按钮类型
2019/02/27 Python
python单例设计模式实现解析
2020/01/07 Python
python图形开发GUI库pyqt5的详细使用方法及各控件的属性与方法
2020/02/14 Python
Python判断字符串是否为空和null方法实例
2020/04/26 Python
法国购买二手电子产品网站:Asgoodasnew
2020/03/27 全球购物
UNIX文件系统分类
2014/11/11 面试题
生产部经理岗位职责
2013/12/16 职场文书
美德少年事迹材料
2014/01/23 职场文书
校园联欢晚会主持词
2014/03/17 职场文书
大一新生学期自我评价
2014/04/09 职场文书
祖国在我心中演讲稿500字
2014/05/04 职场文书
党的群众路线教育实践活动党员个人剖析材料
2014/10/08 职场文书
2014年财政局工作总结
2014/12/09 职场文书
员工辞职信范文
2015/03/02 职场文书
带你了解CSS基础知识,样式
2021/07/21 HTML / CSS