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实现的扫雷游戏实例代码
Aug 01 Python
python+django快速实现文件上传
Oct 24 Python
Python 模拟员工信息数据库操作的实例
Oct 23 Python
python3.x实现base64加密和解密
Mar 28 Python
详解Python中pandas的安装操作说明(傻瓜版)
Apr 08 Python
python并发编程多进程 互斥锁原理解析
Aug 20 Python
Pandas时间序列重采样(resample)方法中closed、label的作用详解
Dec 10 Python
查看jupyter notebook每个单元格运行时间实例
Apr 22 Python
Python select及selectors模块概念用法详解
Jun 22 Python
python palywright库基本使用
Jan 21 Python
python基于tkinter制作无损音乐下载工具
Mar 29 Python
Python使用OpenCV实现虚拟缩放效果
Feb 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
日本十大惊悚动漫
2020/03/04 日漫
第十四节--命名空间
2006/11/16 PHP
第4章 数据处理-php字符串的处理-郑阿奇(续)
2011/07/04 PHP
php读取文件内容至字符串中,同时去除换行、空行、行首行尾空格(Zjmainstay原创)
2012/07/31 PHP
PHP源码分析之变量的存储过程分解
2014/07/03 PHP
浅谈php fopen下载远程文件的函数
2016/11/18 PHP
firefox插件Firebug的使用教程
2010/01/02 Javascript
jQuery提交多个表单的小例子
2013/06/30 Javascript
Jquery Ajax解析XML数据(同步及异步调用)简单实例
2014/02/12 Javascript
解决用jquery load加载页面到div时,不执行页面js的问题
2014/02/22 Javascript
jQuery垂直多级导航菜单代码分享
2015/08/18 Javascript
Bootstrap进度条组件知识详解
2016/05/01 Javascript
ajax 提交数据到后台jsp页面及页面跳转问题
2017/01/19 Javascript
Javascript中引用类型传递的知识点小结
2017/03/06 Javascript
JS开发中基本数据类型具体有哪几种
2017/10/19 Javascript
优雅的将ElementUI表格变身成树形表格的方法步骤
2019/04/11 Javascript
vue移动端写的拖拽功能示例代码
2020/09/09 Javascript
[02:40]2014DOTA2 国际邀请赛中国区预选赛 四大豪门抵达华西村
2014/05/23 DOTA
python3.x上post发送json数据
2018/03/04 Python
Python语言快速上手学习方法
2018/12/14 Python
Django中信号signals的简单使用方法
2019/07/04 Python
Django框架创建mysql连接与使用示例
2019/07/29 Python
python求最大公约数和最小公倍数的简单方法
2020/02/13 Python
Python3实现个位数字和十位数字对调, 其乘积不变
2020/05/03 Python
python中对二维列表中一维列表的调用方法
2020/06/07 Python
Keras - GPU ID 和显存占用设定步骤
2020/06/22 Python
美国最大的烧烤架和户外生活用品专业零售商:Barbeques Galore
2021/01/09 全球购物
高级护理实习生自荐信
2013/09/28 职场文书
经济管理专业毕业生推荐信
2013/11/11 职场文书
大学生饮食连锁店创业计划书
2014/01/17 职场文书
房屋出售协议书
2014/04/10 职场文书
出国留学担保书
2014/05/20 职场文书
大学生村官座谈会发言材料
2014/05/25 职场文书
工资收入证明样本(5篇)
2014/09/16 职场文书
学校2014年度工作总结
2014/12/06 职场文书
2014年会计人员工作总结
2014/12/10 职场文书