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 相关文章推荐
Python3实现的腾讯微博自动发帖小工具
Nov 11 Python
python中 chr unichr ord函数的实例详解
Aug 06 Python
Python数据分析库pandas基本操作方法
Apr 08 Python
python函数与方法的区别总结
Jun 23 Python
Python之time模块的时间戳,时间字符串格式化与转换方法(13位时间戳)
Aug 12 Python
mac 上配置Pycharm连接远程服务器并实现使用远程服务器Python解释器的方法
Mar 19 Python
pycharm无法安装第三方库的问题及解决方法以scrapy为例(图解)
May 09 Python
python中Django文件上传方法详解
Aug 05 Python
浅析Python 责任链设计模式
Sep 11 Python
python基于socket模拟实现ssh远程执行命令
Dec 05 Python
详解Python魔法方法之描述符类
May 26 Python
详解Python内置模块Collections
Mar 22 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
通过PHP简单实例介绍文件上传
2015/12/16 PHP
php对微信支付回调处理的方法
2018/08/23 PHP
laravel 解决groupBy时出现的错误 isn't in Group By问题
2019/10/17 PHP
简单的ajax连接库分享(不用jquery的ajax)
2014/01/19 Javascript
node.js中的fs.exists方法使用说明
2014/12/17 Javascript
JSON与XML的区别对比及案例应用
2016/11/11 Javascript
JavaScript奇技淫巧44招【实用】
2016/12/11 Javascript
原生js实现可拖动的登录框效果
2017/01/21 Javascript
利用JS实现文字的聚合动画效果
2017/01/22 Javascript
jQuery中过滤器的基本用法示例
2017/10/11 jQuery
微信小程序支付及退款流程详解
2017/11/30 Javascript
vue router+vuex实现首页登录验证判断逻辑
2018/05/17 Javascript
详解React Native 屏幕适配(炒鸡简单的方法)
2018/06/11 Javascript
微信小程序 Animation实现图片旋转动画示例
2018/08/22 Javascript
layui将table转化表单显示的方法(即table.render转为表单展示)
2019/09/24 Javascript
javascript实现支付宝滑块验证码效果
2020/07/24 Javascript
react的hooks的用法详解
2020/10/12 Javascript
[03:30]DOTA2完美“圣”典精彩集锦
2016/12/27 DOTA
Python 时间处理datetime实例
2008/09/06 Python
利用Hyperic调用Python实现进程守护
2018/01/02 Python
只需7行Python代码玩转微信自动聊天
2019/01/27 Python
详解python函数的闭包问题(内部函数与外部函数详述)
2019/05/17 Python
python提取log文件内容并画出图表
2019/07/08 Python
Python实现实时数据采集新型冠状病毒数据实例
2020/02/04 Python
python的sys.path模块路径添加方式
2020/03/09 Python
python实现简易版学生成绩管理系统
2020/06/22 Python
苏格兰领先的多渠道鞋店:Begg Shoes
2019/10/22 全球购物
什么是符号链接,什么是硬链接?符号链接与硬链接的区别是什么?
2014/01/19 面试题
《台湾的蝴蝶谷》教学反思
2014/02/20 职场文书
银行服务明星推荐材料
2014/05/29 职场文书
关于运动会的广播稿50字
2014/10/17 职场文书
五好文明家庭事迹材料
2014/12/20 职场文书
企业财务人员岗位职责
2015/04/14 职场文书
农业项目合作意向书
2015/05/08 职场文书
于丹论语心得观后感
2015/06/15 职场文书
Java中CyclicBarrier和CountDownLatch的用法与区别
2021/08/23 Java/Android