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中删除文件的程序代码
Mar 13 Python
Python网络编程中urllib2模块的用法总结
Jul 12 Python
关于python的list相关知识(推荐)
Aug 30 Python
浅谈python在提示符下使用open打开文件失败的原因及解决方法
Nov 30 Python
padas 生成excel 增加sheet表的实例
Dec 11 Python
Python面向对象程序设计OOP深入分析【构造函数,组合类,工具类等】
Jan 05 Python
详解Numpy中的数组拼接、合并操作(concatenate, append, stack, hstack, vstack, r_, c_等)
May 27 Python
Django中使用MySQL5.5的教程
Dec 18 Python
如何基于python操作json文件获取内容
Dec 24 Python
python 已知一个字符,在一个list中找出近似值或相似值实现模糊匹配
Feb 29 Python
Python轻量级web框架bottle使用方法解析
Jun 13 Python
python中24小时制转换为12小时制的方法
Jun 18 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
单位速度在实战中的运用
2020/03/04 星际争霸
珊瑚虫IP库浅析
2007/02/15 PHP
PHP 5.0对象模型深度探索之类的静态成员
2008/03/27 PHP
php使用post数组的键值创建同名变量并赋值的方法
2015/04/03 PHP
jQuery getJSON 处理json数据的代码
2010/07/26 Javascript
商城常用滚动的焦点图效果代码简单实用
2013/03/28 Javascript
JavaScript框架(iframe)操作总结
2014/04/16 Javascript
Javascript获取随机数的实现方法
2016/06/22 Javascript
JavaScript中点击事件的写法
2016/06/28 Javascript
又一款js时钟!transform实现时钟效果
2016/08/15 Javascript
javascript实现二叉树的代码
2017/06/08 Javascript
Ionic3实现图片瀑布流布局
2017/08/09 Javascript
vue权限问题的完美解决方案
2019/05/08 Javascript
javascript function(函数类型)使用与注意事项小结
2019/06/10 Javascript
js定义类的方法示例【ES5与ES6】
2019/07/30 Javascript
jQuery实现简易聊天框
2020/02/08 jQuery
JS+CSS实现3D切割轮播图
2020/03/21 Javascript
文章或博客自动生成章节目录索引(支持三级)的实现代码
2020/05/10 Javascript
vue+AI智能机器人回复功能实现
2020/07/16 Javascript
python使用selenium登录QQ邮箱(附带滑动解锁)
2019/01/23 Python
python 扩展print打印文件路径和当前时间信息的实例代码
2019/10/11 Python
keras slice layer 层实现方式
2020/06/11 Python
Python+Xlwings 删除Excel的行和列
2020/12/19 Python
HTML5 Canvas入门学习教程
2016/03/17 HTML / CSS
CK美国官网:Calvin Klein
2016/08/26 全球购物
Skyscanner加拿大:全球旅行搜索平台
2018/11/19 全球购物
Engel & Bengel官网:婴儿推车、儿童房家具和婴儿设备
2019/12/28 全球购物
高二地理教学反思
2014/01/24 职场文书
工会主席岗位责任制
2014/02/11 职场文书
2014年党的群众路线教育实践活动总结
2014/04/25 职场文书
租车协议书
2015/01/27 职场文书
勤俭节约倡议书范文
2015/04/29 职场文书
结婚当天新郎保证书
2015/05/08 职场文书
基于Python实现的购物商城管理系统
2021/04/27 Python
Win11 PC上的Outlook搜索错误怎么办?
2022/07/15 数码科技
Python sklearn分类决策树方法详解
2022/09/23 Python