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里隐藏的“禅”
Jun 16 Python
python实现进程间通信简单实例
Jul 23 Python
Python函数嵌套实例
Sep 23 Python
对Python的Django框架中的项目进行单元测试的方法
Apr 11 Python
python3音乐播放器简单实现代码
Apr 20 Python
python 集合 并集、交集 Series list set 转换的实例
May 29 Python
windows下搭建python scrapy爬虫框架步骤
Dec 23 Python
pandas把所有大于0的数设置为1的方法
Jan 26 Python
pandas条件组合筛选和按范围筛选的示例代码
Aug 26 Python
Python hashlib常见摘要算法详解
Jan 13 Python
keras获得某一层或者某层权重的输出实例
Jan 24 Python
Python getattr()函数使用方法代码实例
Aug 10 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预定义常量
2006/12/25 PHP
php模板之Phpbean的目录结构
2008/01/10 PHP
php 获取可变函数参数的函数
2009/08/26 PHP
php文件操作之小型留言本实例
2015/06/20 PHP
WordPress中自定义后台管理界面配色方案的小技巧
2015/12/29 PHP
PHP简单实现无限级分类的方法
2016/05/13 PHP
使用JS操作页面表格,元素的一些技巧
2007/02/02 Javascript
jQuery ui1.7 dialog只能弹出一次问题
2009/08/27 Javascript
可以将word转成html的js代码
2010/04/11 Javascript
js 限制input只能输入数字、字母和汉字等等
2013/12/18 Javascript
Jquery效果大全之制作电脑健康体检得分特效附源码下载
2015/11/02 Javascript
jQuery-1.9.1源码分析系列(十)事件系统之事件包装
2015/11/20 Javascript
解决angular的post请求后SpringMVC后台接收不到参数值问题的方法
2015/12/10 Javascript
javascript图片切换综合实例(循环切换、顺序切换)
2016/01/13 Javascript
JS简单实现禁止访问某个页面的方法
2016/09/13 Javascript
jquery.guide.js新版上线操作向导镂空提示jQuery插件(推荐)
2017/05/20 jQuery
详解react-router如何实现按需加载
2017/06/15 Javascript
Javascript实现异步编程的过程
2018/06/18 Javascript
vue自定义表单生成器form-create使用详解
2019/07/19 Javascript
NodeJs实现简易WEB上传下载服务器
2019/08/10 NodeJs
vue自定义指令和动态路由实现权限控制
2020/08/28 Javascript
python简单分割文件的方法
2015/07/30 Python
numpy中实现二维数组按照某列、某行排序的方法
2018/04/04 Python
基于python绘制科赫雪花
2018/06/22 Python
基于Python词云分析政府工作报告关键词
2020/06/02 Python
Keras中 ImageDataGenerator函数的参数用法
2020/07/03 Python
学python最电脑配置有要求么
2020/07/05 Python
python 实现围棋游戏(纯tkinter gui)
2020/11/13 Python
css3媒体查询中device-width和width的区别详解
2020/03/27 HTML / CSS
Html5 页面适配iPhoneX(就是那么简单)
2019/09/05 HTML / CSS
如何拷贝一整个Java对象,包括它的状态
2013/12/27 面试题
前台接待的工作职责
2013/11/21 职场文书
《千年梦圆在今朝》教学反思
2014/02/24 职场文书
法律进学校实施方案
2014/03/15 职场文书
大学社团招新的通讯稿
2014/09/10 职场文书
opencv深入浅出了解机器学习和深度学习
2022/03/17 Python