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获取指定时间差的时间实例详解
Apr 11 Python
Python网络爬虫神器PyQuery的基本使用教程
Feb 03 Python
python爬取各类文档方法归类汇总
Mar 22 Python
Sanic框架异常处理与中间件操作实例分析
Jul 16 Python
详解django自定义中间件处理
Nov 21 Python
一个可以套路别人的python小程序实例代码
Apr 09 Python
Python数据类型之String字符串实例详解
May 08 Python
Python 中list ,set,dict的大规模查找效率对比详解
Oct 11 Python
Python爬虫爬取、解析数据操作示例
Mar 27 Python
Pymysql实现往表中插入数据过程解析
Jun 02 Python
关于python pygame游戏进行声音添加的技巧
Oct 24 Python
Python装饰器的练习题
Nov 23 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
与数据库连接
2006/10/09 PHP
修改WordPress中文章编辑器的样式的方法详解
2015/12/15 PHP
PHP实现的通过参数生成MYSQL语句类完整实例
2016/04/11 PHP
php5.3/5.4/5.5/5.6/7常见新增特性汇总整理
2020/02/27 PHP
JavaScript中通过闭包解决只能取得包含函数中任何变量最后一个值的问题
2010/08/12 Javascript
写得不错的jquery table鼠标经过变色代码
2013/09/27 Javascript
JS中实现简单Formatter函数示例代码
2014/08/19 Javascript
js实现发送验证码后的倒计时功能
2015/05/28 Javascript
JS中如何比较两个Json对象是否相等实例代码
2016/07/13 Javascript
JavaScript中的call和apply的用途以及区别
2017/01/11 Javascript
jQuery代码实现实时获取时间
2017/01/29 Javascript
在javaScript中检测数据类型的几种方式小结
2017/03/04 Javascript
webpack配置文件和常用配置项介绍
2017/04/28 Javascript
基于JS实现网页中的选项卡(两种方法)
2017/06/16 Javascript
jquery 键盘事件的使用方法详解
2017/09/13 jQuery
详解vue-router 路由元信息
2017/09/13 Javascript
Three.js如何实现雾化效果示例代码
2017/09/27 Javascript
js 将canvas生成图片保存,或直接保存一张图片的实现方法
2018/01/02 Javascript
基于 Vue.js 2.0 酷炫自适应背景视频登录页面实现方式
2018/01/17 Javascript
DWR内存兼容及无法调用问题解决方案
2020/10/16 Javascript
让你30分钟快速掌握vue3教程
2020/10/26 Javascript
微信小程序实现星星评分效果
2020/11/01 Javascript
python通过apply使用元祖和列表调用函数实例
2015/05/26 Python
python,Django实现的淘宝客登录功能示例
2019/06/12 Python
Django认证系统user对象实现过程解析
2020/03/02 Python
详解pycharm的python包opencv(cv2)无代码提示问题的解决
2021/01/29 Python
基于CSS3实现的黑色个性导航菜单效果
2015/09/14 HTML / CSS
html5如何在Canvas中实现自定义路径动画示例
2017/09/18 HTML / CSS
一级方程式赛车官方网上商店:F1 Store(支持中文)
2018/01/12 全球购物
对于没有初始化的变量的初始值可以作怎样的假定
2014/10/12 面试题
经管应届生求职信
2013/11/17 职场文书
计算机专业毕业生的自我评价
2013/11/18 职场文书
三孔导游词
2015/02/05 职场文书
趣味运动会赞词
2015/07/22 职场文书
Golang二维切片初始化的实现
2021/04/08 Golang
idea下配置tomcat避坑详解
2022/04/12 Servers