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实现简单日历
Jul 28 Python
python 将大文件切分为多个小文件的实例
Jan 14 Python
DRF跨域后端解决之django-cors-headers的使用
Jan 27 Python
Python元组常见操作示例
Feb 19 Python
Django 中间键和上下文处理器的使用
Mar 17 Python
在python plt图表中文字大小调节的方法
Jul 08 Python
python 批量添加的button 使用同一点击事件的方法
Jul 17 Python
用python写测试数据文件过程解析
Sep 25 Python
pandas.DataFrame.drop_duplicates 用法介绍
Jul 06 Python
Pandas直接读取sql脚本的方法
Jan 21 Python
Python实现数据的序列化操作详解
Jul 07 Python
Python+pyaudio实现音频控制示例详解
Jul 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
无法载入 mcrypt 扩展,请检查 PHP 配置终极解决方案
2011/07/18 PHP
JavaScript 克隆数组最简单的方法
2009/02/12 Javascript
jquery miniui 教程 表格控件 合并单元格应用
2012/11/25 Javascript
通过length属性判断jquery对象是否存在
2013/10/18 Javascript
Jquery解析json字符串及json数组的方法
2015/05/29 Javascript
jquery插件jquery.LightBox.js实现点击放大图片并左右点击切换效果(附demo源码下载)
2016/02/25 Javascript
浅谈jquery页面初始化的4种方式
2016/11/27 Javascript
Jquery on绑定的事件 触发多次实例代码
2016/12/08 Javascript
AngularJS中run方法的巧妙运用
2017/01/04 Javascript
BootStrap模态框和select2合用时input无法获取焦点的解决方法
2017/09/01 Javascript
vue 实现 ios 原生picker 效果及实现思路解析
2017/12/06 Javascript
详解Ubuntu安装angular-cli遇到的坑
2018/09/08 Javascript
微信公众平台获取access_token的方法步骤
2019/03/29 Javascript
vue学习笔记五:在vue项目里面使用引入公共方法详解
2019/04/04 Javascript
JavaScript一元正号运算符示例代码
2019/06/30 Javascript
vue实现直播间点赞飘心效果的示例代码
2019/09/20 Javascript
python获取一组汉字拼音首字母的方法
2015/07/01 Python
urllib和BeautifulSoup爬取维基百科的词条简单实例
2018/01/17 Python
python实现拓扑排序的基本教程
2018/03/11 Python
详解Python requests 超时和重试的方法
2018/12/18 Python
pyqt5 禁止窗口最大化和禁止窗口拉伸的方法
2019/06/18 Python
解决.ui文件生成的.py文件运行不出现界面的方法
2019/06/19 Python
Python如何telnet到网络设备
2021/02/18 Python
css3媒体查询中device-width和width的区别详解
2020/03/27 HTML / CSS
意大利综合购物网站:Giordano Shop
2016/10/21 全球购物
ziaja齐叶雅官方海外旗舰店:来自波兰的天然护肤品牌
2017/01/02 全球购物
FLOS美国官网:意大利高级照明工艺的传奇
2018/08/07 全球购物
一个C/C++编程面试题
2013/11/10 面试题
自我评价格式
2014/01/06 职场文书
市级文明单位申报材料
2014/05/07 职场文书
2014年租房协议书范本
2014/10/30 职场文书
汤姆叔叔的小屋读书笔记
2015/06/30 职场文书
爱岗敬业事迹材料
2019/06/20 职场文书
创业计划书之冷饮店
2019/09/27 职场文书
Python自动化工具之实现Excel转Markdown表格
2022/04/08 Python
VUE递归树形实现多级列表
2022/07/15 Vue.js