python中使用urllib2伪造HTTP报头的2个方法


Posted in Python onJuly 07, 2014

在采集网页信息的时候,经常需要伪造报头来实现采集脚本的有效执行

下面,我们将使用urllib2的header部分伪造报头来实现采集信息

方法1、

#!/usr/bin/python
# -*- coding: utf-8 -*-
#encoding=utf-8
#Filename:urllib2-header.py
 
import urllib2
import sys
 
#抓取网页内容-发送报头-1
url= "https://3water.com"
send_headers = {
 'Host':'3water.com',
 'User-Agent':'Mozilla/5.0 (Windows NT 6.2; rv:16.0) Gecko/20100101 Firefox/16.0',
 'Accept':'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
 'Connection':'keep-alive'
}
 
req = urllib2.Request(url,headers=send_headers)
r = urllib2.urlopen(req)
 
html = r.read()        #返回网页内容
receive_header = r.info()     #返回的报头信息
 
# sys.getfilesystemencoding() 
html = html.decode('utf-8','replace').encode(sys.getfilesystemencoding()) #转码:避免输出出现乱码 
 
print receive_header
# print '####################################'
print html

方法2、

#!/usr/bin/python
# -*- coding: utf-8 -*-
#encoding=utf-8
#Filename:urllib2-header.py
 
import urllib2
import sys
 
url = 'https://3water.com'
 
req = urllib2.Request(url)
req.add_header('Referer','https://3water.com/')
req.add_header('User-Agent','Mozilla/5.0 (Windows NT 6.2; rv:16.0) Gecko/20100101 Firefox/16.0')
r = urllib2.urlopen(req)
 
html = r.read()
receive_header = r.info()
 
html = html.decode('utf-8').encode(sys.getfilesystemencoding())
 
print receive_header
print '#####################################'
print html
Python 相关文章推荐
Python的Bottle框架中返回静态文件和JSON对象的方法
Apr 30 Python
Python中的random()方法的使用介绍
May 15 Python
在windows系统中实现python3安装lxml
Mar 23 Python
Python数据操作方法封装类实例
Jun 23 Python
关于Python中浮点数精度处理的技巧总结
Aug 10 Python
python调用Matplotlib绘制分布点并且添加标签
May 31 Python
Python直接赋值、浅拷贝与深度拷贝实例分析
Jun 18 Python
Django 开发环境配置过程详解
Jul 18 Python
Python 从subprocess运行的子进程中实时获取输出的例子
Aug 14 Python
Python基于stuck实现scoket文件传输
Apr 02 Python
最新PyCharm从安装到PyCharm永久激活再到PyCharm官方中文汉化详细教程
Nov 17 Python
Python使用plt.boxplot()函数绘制箱图、常用方法以及含义详解
Aug 14 Python
python实现多线程采集的2个代码例子
Jul 07 #Python
Python程序员开发中常犯的10个错误
Jul 07 #Python
python采用requests库模拟登录和抓取数据的简单示例
Jul 05 #Python
浅析python 中__name__ = '__main__' 的作用
Jul 05 #Python
python在windows下实现备份程序实例
Jul 04 #Python
python调用短信猫控件实现发短信功能实例
Jul 04 #Python
Python实现类继承实例
Jul 04 #Python
You might like
使用PHPExcel操作Excel用法实例分析
2015/03/26 PHP
YII Framework教程之异常处理详解
2016/03/14 PHP
PHP微信支付实例解析
2016/07/22 PHP
tp5.1 框架数据库高级查询技巧实例总结
2020/05/25 PHP
phpstorm激活码2020附使用详细教程
2020/09/25 PHP
jQuery 前的按键判断代码
2010/03/19 Javascript
jQuery数组处理代码详解(含实例演示)
2012/02/03 Javascript
js判断undefined类型,undefined,null, 的区别详细解析
2013/12/16 Javascript
JavaScript组合拼接字符串的效率对比测试
2014/11/06 Javascript
jquery层级选择器的实现(匹配后代元素div)
2016/09/05 Javascript
AngularJS 在同一个界面启动多个ng-app应用模块详解
2016/12/20 Javascript
微信小程序页面传值实例分析
2017/04/19 Javascript
create-react-app修改为多页面支持的方法
2018/05/17 Javascript
如何实现双向绑定mvvm的原理实现
2019/05/28 Javascript
Vue程序调试的方法
2019/06/17 Javascript
基于node+websocket+html实现腾讯课堂聊天室聊天功能
2020/03/04 Javascript
vscode+gulp轻松开发小程序的完整步骤
2020/10/18 Javascript
[41:17]VG vs Optic 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
Python中使用Flask、MongoDB搭建简易图片服务器
2015/02/04 Python
Python基于动态规划算法计算单词距离
2015/07/25 Python
基于Python实现对PDF文件的OCR识别
2016/08/05 Python
python使用锁访问共享变量实例解析
2018/02/08 Python
Pyqt实现无边框窗口拖动以及窗口大小改变
2018/04/19 Python
python 3.6.5 安装配置方法图文教程
2018/09/18 Python
python在html中插入简单的代码并加上时间戳的方法
2018/10/16 Python
numpy.linspace函数具体使用详解
2019/05/27 Python
python判断一个变量是否已经设置的方法
2020/08/13 Python
使用HTML5的链接预取功能(link prefetching)给网站提速
2012/12/13 HTML / CSS
美国专业级皮肤病和spa品质护肤品的高级零售网站:SkinCareRx
2017/02/06 全球购物
ALDI奥乐齐官方海外旗舰店:德国百年超市
2017/12/27 全球购物
沃尔玛旗下墨西哥超市:Bodega Aurrera
2020/11/13 全球购物
婚假请假条格式及范文
2014/04/10 职场文书
英语演讲稿3分钟
2014/04/29 职场文书
诉讼财产保全担保书
2014/05/20 职场文书
体育教师求职信
2014/05/24 职场文书
在Django中使用MQTT的方法
2021/05/10 Python