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 遍历字典时删除元素报异常的问题
Sep 11 Python
Python实现计算两个时间之间相差天数的方法
May 10 Python
python flask 多对多表查询功能
Jun 25 Python
python中partial()基础用法说明
Dec 30 Python
几行Python代码爬取3000+上市公司的信息
Jan 24 Python
Python 硬币兑换问题
Jul 29 Python
python实现串口通信的示例代码
Feb 10 Python
Python request操作步骤及代码实例
Apr 13 Python
Pygame的程序开始示例代码
May 07 Python
Python实现EM算法实例代码
Oct 04 Python
Python关于OS文件目录处理的实例分享
May 23 Python
jupyter notebook保存文件默认路径更改方法汇总(亲测可以)
Jun 09 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无法访问远程mysql的问题分析及解决
2013/05/16 PHP
PHP编码规范的深入探讨
2013/06/06 PHP
9个比较实用的php代码片段
2016/03/15 PHP
php爬取天猫和淘宝商品数据
2018/02/23 PHP
PHP实现生成推广海报的方法详解
2018/03/14 PHP
Javascript实例教程(19) 使用HoTMetal(6)
2006/12/23 Javascript
JavaScript 类型的包装对象(Typed Wrappers)
2011/10/27 Javascript
解决jquery操作checkbox火狐下第二次无法勾选问题
2014/02/10 Javascript
js鼠标点击图片实现随机变换图片的方法
2015/02/16 Javascript
简介JavaScript中Boolean.toSource()方法的使用
2015/06/05 Javascript
jQuery实现本地预览上传图片功能
2016/01/08 Javascript
jQuery基本选择器和层次选择器学习使用
2017/02/27 Javascript
解决淘宝cnpm 安装后cnpm不是内部或外部命令的问题
2018/05/17 Javascript
Vue实现表格批量审核功能实例代码
2019/05/28 Javascript
浅谈Three.js截图并下载的大坑
2019/11/01 Javascript
vue中实现点击空白区域关闭弹窗的两种方法
2020/12/30 Vue.js
python使用mysql的两种使用方式
2018/03/07 Python
使用pycharm生成代码模板的实例
2018/05/23 Python
Django开发中的日志输出的方法
2018/07/02 Python
浅谈Pycharm调用同级目录下的py脚本bug
2018/12/03 Python
python 字典操作提取key,value的方法
2019/06/26 Python
Python jieba库用法及实例解析
2019/11/04 Python
Python实现变声器功能(萝莉音御姐音)
2019/12/05 Python
解决keras加入lambda层时shape的问题
2020/06/11 Python
Python绘制组合图的示例
2020/09/18 Python
一波HTML5 Canvas基础绘图实例代码集合
2016/02/28 HTML / CSS
俄罗斯名牌服装网上商店:UNIQUE FABRIC
2019/07/25 全球购物
浙大网新C/C++面试解惑
2015/05/27 面试题
施工班组长岗位职责
2014/01/05 职场文书
企业总经理职责
2014/02/02 职场文书
神农溪导游词
2015/02/11 职场文书
2019年员工晋升管理制度范本!
2019/07/08 职场文书
详解Go与PHP的语法对比
2021/05/29 PHP
SQL Server中使用判断语句(IF ELSE/CASE WHEN )案例
2021/07/07 SQL Server
《辉夜大小姐想让我告白》第三季正式预告
2022/03/20 日漫
Apache Pulsar结合Hudi构建Lakehouse方案分析
2022/03/31 Servers