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输出汉字字库及将文字转换为图片的方法
Jun 04 Python
python dict 字典 以及 赋值 引用的一些实例(详解)
Jan 20 Python
高效测试用例组织算法pairwise之Python实现方法
Jul 19 Python
Python使用正则表达式获取网页中所需要的信息
Jan 29 Python
python实现简单五子棋游戏
Jun 18 Python
set在python里的含义和用法
Jun 24 Python
python爬虫 线程池创建并获取文件代码实例
Sep 28 Python
Django Docker容器化部署之Django-Docker本地部署
Oct 09 Python
python 字典访问的三种方法小结
Dec 05 Python
Python3 集合set入门基础
Feb 10 Python
解决pyCharm中 module 调用失败的问题
Feb 12 Python
Django 项目布局方法(值得推荐)
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+ajax做仿百度搜索下拉自动提示框(有实例)
2012/08/21 PHP
destoon实现VIP排名一直在前面排序的方法
2014/08/21 PHP
PHP实现绘制二叉树图形显示功能详解【包括二叉搜索树、平衡树及红黑树】
2017/11/16 PHP
从Ajax到JQuery Ajax学习
2007/02/14 Javascript
js left,right,mid函数
2008/06/10 Javascript
Tinymce+jQuery.Validation使用产生的BUG
2010/03/29 Javascript
动态加载js和css(外部文件)
2013/04/17 Javascript
jQuery动画效果-slideUp slideDown上下滑动示例代码
2013/08/28 Javascript
JS简单实现登陆验证附效果图
2013/11/19 Javascript
js+css实现超简洁的二级下拉菜单效果代码
2015/09/07 Javascript
BootStrap中Tab页签切换实例代码
2016/05/30 Javascript
全面解析JavaScript中apply和call以及bind(推荐)
2016/06/15 Javascript
微信小程序上传图片到服务器实例代码
2017/11/07 Javascript
vue2.0 + ele的循环表单及验证字段方法
2018/09/18 Javascript
在vue中根据光标的显示与消失实现下拉列表
2019/09/29 Javascript
微信小程序(订阅消息)功能
2019/10/25 Javascript
Vue 3自定义指令开发的相关总结
2021/01/29 Vue.js
[54:27]TNC vs Serenity 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
Python字符串逐字符或逐词反转方法
2015/05/21 Python
如何将python中的List转化成dictionary
2016/08/15 Python
python3.4用函数操作mysql5.7数据库
2017/06/23 Python
python 显示数组全部元素的方法
2018/04/19 Python
selenium+python实现自动化登录的方法
2018/09/04 Python
python RabbitMQ 使用详细介绍(小结)
2018/11/08 Python
树莓派+摄像头实现对移动物体的检测
2019/06/22 Python
对python中GUI,Label和Button的实例详解
2019/06/27 Python
Python列表(list)所有元素的同一操作解析
2019/08/01 Python
通过实例解析Python RPC实现原理及方法
2020/07/07 Python
使用纯 CSS 创作一个脉动 loader效果的源码
2018/09/28 HTML / CSS
处理HTML5新标签的浏览器兼容版问题
2017/03/13 HTML / CSS
Linux操作面试题
2015/02/11 面试题
事业单位鉴定材料
2014/05/25 职场文书
街道党风廉政建设调研报告
2015/01/01 职场文书
2015年度党员自我评价范文
2015/03/03 职场文书
4S店销售内勤岗位职责
2015/04/13 职场文书
2016保送生自荐信范文
2016/01/29 职场文书