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音频处理用到的操作的示例代码
Oct 27 Python
Python爬虫设置代理IP的方法(爬虫技巧)
Mar 04 Python
python实现点对点聊天程序
Jul 28 Python
基于Python实现定时自动给微信好友发送天气预报
Oct 25 Python
Python Pandas实现数据分组求平均值并填充nan的示例
Jul 04 Python
Python Gitlab Api 使用方法
Aug 28 Python
python日志模块logbook使用方法
Sep 19 Python
Django学习之文件上传与下载
Oct 06 Python
Python MOCK SERVER moco模拟接口测试过程解析
Apr 13 Python
Python3爬虫关于代理池的维护详解
Jul 30 Python
Python 微信公众号文章爬取的示例代码
Nov 30 Python
python实现学生通讯录管理系统
Feb 25 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面向对象全攻略 (十七) 自动加载类
2009/09/30 PHP
php smarty模版引擎中变量操作符及使用方法
2009/12/11 PHP
在PHP中实现Javascript的escape()函数代码
2010/08/08 PHP
php URL验证正则表达式
2011/07/19 PHP
PHP生成sitemap.xml地图函数
2013/11/13 PHP
php从文件夹随机读取文件的方法
2015/06/01 PHP
PHP的几个常用加密函数
2016/02/03 PHP
php mysql_real_escape_string addslashes及mysql绑定参数防SQL注入攻击
2016/12/23 PHP
PHP实现十进制数字与二十六进制字母串相互转换操作示例
2018/08/10 PHP
JavaScript 直接操作本地文件的实现代码
2009/12/01 Javascript
MC Dialog js弹出层 完美兼容多浏览器(5.6更新)
2010/05/06 Javascript
详解React 16 中的异常处理
2017/07/28 Javascript
Js面试算法详解
2018/04/08 Javascript
VUE 实现滚动监听 导航栏置顶的方法
2018/09/11 Javascript
vue-cli webpack 引入swiper的操作方法
2018/09/15 Javascript
react中使用css的7中方式(最全总结)
2019/02/11 Javascript
jQuery插件实现图片轮播效果
2020/10/19 jQuery
Python注释详解
2016/06/01 Python
利用Python破解斗地主残局详解
2017/06/30 Python
Python Threading 线程/互斥锁/死锁/GIL锁
2019/07/21 Python
Python 使用matplotlib模块模拟掷骰子
2019/08/08 Python
python中删除某个元素的方法解析
2019/11/05 Python
使用Python给头像加上圣诞帽或圣诞老人小图标附源码
2019/12/25 Python
使用wxpy实现自动发送微信消息功能
2020/02/28 Python
10种CSS3实现的loading动画,挑一个走吧?
2020/11/16 HTML / CSS
一文彻底解决HTML5页面中长按保存图片功能
2019/06/10 HTML / CSS
彪马加拿大官网:PUMA加拿大
2018/10/04 全球购物
Lookfantastic阿联酋官网:英国知名美妆护肤购物网站
2020/05/26 全球购物
职专应届生求职信
2013/11/16 职场文书
创业计划书的内容步骤和要领
2014/01/04 职场文书
药品业务员岗位职责
2014/04/17 职场文书
销售团队获奖感言
2014/08/14 职场文书
群众路线领导干部个人对照检查材料(集锦)
2014/09/23 职场文书
《半截蜡烛》教学反思
2016/02/19 职场文书
浅谈怎么给Python添加类型标注
2021/06/08 Python
关于React Native使用axios进行网络请求的方法
2021/08/02 Javascript