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实现在无须过多援引的情况下创建字典的方法
Sep 25 Python
Pyhton中单行和多行注释的使用方法及规范
Oct 11 Python
对Python 数组的切片操作详解
Jul 02 Python
python石头剪刀布小游戏(三局两胜制)
Jan 20 Python
对python dataframe逻辑取值的方法详解
Jan 30 Python
Python分支语句与循环语句应用实例分析
May 07 Python
在pycharm中显示python画的图方法
Aug 31 Python
python系列 文件操作的代码
Oct 06 Python
Tensorflow轻松实现XOR运算的方式
Feb 03 Python
jupyter notebook 使用过程中python莫名崩溃的原因及解决方式
Apr 10 Python
pandas中的ExcelWriter和ExcelFile的实现方法
Apr 24 Python
详解Python openpyxl库的基本应用
Feb 26 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上传图片类(随机名,缩略图,加水印)
2010/06/30 PHP
php导出excel格式数据问题
2014/03/11 PHP
php广告加载类用法实例
2014/09/23 PHP
php的ZipArchive类用法实例
2014/10/20 PHP
ThinkPHP5分页paginate代码实例解析
2020/11/10 PHP
Javascript 判断函数类型完美解决方案
2009/09/02 Javascript
js中onload与onunload的使用示例
2013/08/25 Javascript
javascript随机之洗牌算法深入分析
2014/06/07 Javascript
深入分析JSON编码格式提交表单数据
2015/06/25 Javascript
jQuery的事件委托实例分析
2015/07/15 Javascript
javascript实现简单加载随机色方块
2015/12/25 Javascript
es6学习笔记之Async函数基本教程
2017/05/11 Javascript
vue里面父组件修改子组件样式的方法
2018/02/03 Javascript
在 Linux/Unix 中不重启 Vim 而重新加载 .vimrc 文件的流程
2018/03/21 Javascript
jQuery实现获取动态添加的标签对象示例
2018/06/28 jQuery
基于jQuery实现挂号平台首页源码
2020/01/06 jQuery
vue打包通过image-webpack-loader插件对图片压缩优化操作
2020/11/12 Javascript
[13:55]Newbee vs Team Spirit
2018/06/07 DOTA
[43:53]OG vs EG 2019国际邀请赛淘汰赛 胜者组 BO3 第三场 8.22
2019/09/05 DOTA
[33:09]完美世界DOTA2联赛循环赛 Forest vs DM BO2第二场 10.29
2020/10/29 DOTA
Python基类函数的重载与调用实例分析
2015/01/12 Python
Python虚拟环境Virtualenv使用教程
2015/05/18 Python
使用python3调用wxpy模块监控linux日志并定时发送消息给群组或好友
2019/06/05 Python
pytorch 共享参数的示例
2019/08/17 Python
django ListView的使用 ListView中获取url中的参数值方式
2020/03/27 Python
详解python中的lambda与sorted函数
2020/09/04 Python
在阿尔卑斯山或希腊度过快乐假期:Alpine Elements
2019/12/28 全球购物
大学同学十年聚会感言
2014/02/21 职场文书
银行金融服务方案
2014/06/11 职场文书
2014年医院党建工作总结
2014/12/20 职场文书
英语教师个人总结
2015/02/09 职场文书
以权谋私检举信范文
2015/03/02 职场文书
独生子女证明范本
2015/06/19 职场文书
新员工入职感想
2015/08/07 职场文书
Python破解极验滑动验证码详细步骤
2021/05/21 Python
java泛型通配符详解
2021/07/25 Java/Android