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 20 Python
轻量级的Web框架Flask 中模块化应用的实现
Sep 11 Python
教你用一行Python代码实现并行任务(附代码)
Feb 02 Python
python发送告警邮件脚本
Sep 17 Python
在python中实现调用可执行文件.exe的3种方法
Jul 07 Python
pandas读取CSV文件时查看修改各列的数据类型格式
Jul 07 Python
Python 字符串类型列表转换成真正列表类型过程解析
Aug 26 Python
Python PyQt5模块实现窗口GUI界面代码实例
May 12 Python
如何写python的配置文件
Jun 07 Python
Pycharm安装python库的方法
Nov 24 Python
Python数据清洗工具之Numpy的基本操作
Apr 22 Python
4种非常实用的python内置数据结构
Apr 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+Mysql+jQuery实现发布微博程序 php篇
2015/10/15 PHP
PHP的APC模块实现上传进度条
2015/10/27 PHP
php微信公众平台开发之微信群发信息
2016/09/13 PHP
JavaScript Event学习第四章 传统的事件注册模型
2010/02/07 Javascript
js 页面关闭前的出现提示的实现代码
2011/05/25 Javascript
JQuery入门——用bind方法绑定事件处理函数应用介绍
2013/02/05 Javascript
深入理解JavaScript高级之词法作用域和作用域链
2013/12/10 Javascript
jQuery实现锚点scoll效果实例分析
2015/03/10 Javascript
JQuery+Ajax实现数据查询、排序和分页功能
2015/09/27 Javascript
jQuery手动点击实现图片轮播特效
2020/04/20 Javascript
angularjs表格分页功能详解
2016/01/21 Javascript
AngularJS基础 ng-readonly 指令简单示例
2016/08/02 Javascript
详谈jQuery Ajax(load,post,get,ajax)的用法
2017/03/02 Javascript
React中如何引入Angular组件详解
2018/08/09 Javascript
在 Vue 中使用 JSX 及使用它的原因浅析
2020/02/10 Javascript
Python Mysql自动备份脚本
2008/07/14 Python
python数据结构之二叉树的遍历实例
2014/04/29 Python
Python最长公共子串算法实例
2015/03/07 Python
Python操作MongoDB数据库的方法示例
2018/01/04 Python
python实现按长宽比缩放图片
2018/06/07 Python
用Python读取几十万行文本数据
2018/12/24 Python
Python使用pandas和xlsxwriter读写xlsx文件的方法示例
2019/04/09 Python
python使用pymongo操作mongo的完整步骤
2019/04/13 Python
Python 占位符的使用方法详解
2019/07/10 Python
django框架模型层功能、组成与用法分析
2019/07/30 Python
简单介绍python封装的基本知识
2019/08/10 Python
Python树莓派学习笔记之UDP传输视频帧操作详解
2019/11/15 Python
使用Pytorch来拟合函数方式
2020/01/14 Python
python线程池如何使用
2020/05/28 Python
Bally巴利英国官网:经典瑞士鞋履、手袋及配饰奢侈品牌
2018/05/07 全球购物
解除合同协议书
2014/04/17 职场文书
债务纠纷委托书
2014/08/30 职场文书
关于迟到的检讨书
2015/05/06 职场文书
圆明园纪录片观后感
2015/06/03 职场文书
详解python的内存分配机制
2021/05/10 Python
java泛型通配符详解
2021/07/25 Java/Android