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实现360皮肤按钮控件示例
Feb 21 Python
python中string模块各属性以及函数的用法介绍
May 30 Python
Python基于pillow判断图片完整性的方法
Sep 18 Python
Python下的Softmax回归函数的实现方法(推荐)
Jan 26 Python
对python append 与浅拷贝的实例讲解
May 04 Python
Django框架使用mysql视图操作示例
May 15 Python
django 数据库连接模块解析及简单长连接改造方法
Aug 29 Python
Python 解析pymysql模块操作数据库的方法
Feb 18 Python
使用wxpy实现自动发送微信消息功能
Feb 28 Python
Selenium之模拟登录铁路12306的示例代码
Jul 31 Python
Python 如何调试程序崩溃错误
Aug 03 Python
Python基于opencv的简单图像轮廓形状识别(全网最简单最少代码)
Jan 28 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
全国FM电台频率大全 - 10 江苏省
2020/03/11 无线电
PHP实现对文本数据库的常用操作方法实例演示
2014/07/04 PHP
PHP采集静态页面并把页面css,img,js保存的方法
2014/12/23 PHP
CodeIgniter多语言实现方法详解
2016/01/20 PHP
实例讲解php实现多线程
2019/01/27 PHP
jquery插件 cluetip 关键词注释
2010/01/12 Javascript
JS实现图片预加载无需等待
2012/12/21 Javascript
jquery全选/全不选/反选另一种实现方法(配合原生js)
2013/04/07 Javascript
Jquery.addClass始终无效原因分析
2013/09/08 Javascript
JavaScript省市联动实现代码
2014/02/15 Javascript
jsp网页搜索结果中实现选中一行使其高亮
2014/02/17 Javascript
jquery实现对联广告的方法
2015/02/05 Javascript
分享JS数组求和与求最大值的方法
2016/08/11 Javascript
AngularJS创建自定义指令的方法详解
2016/11/03 Javascript
jquery+ajax实现省市区三级联动效果简单示例
2017/01/04 Javascript
纯js的右下角弹窗实例
2017/03/12 Javascript
js获取当前周、上一周、下一周日期
2017/03/19 Javascript
JS数组去重(4种方法)
2017/03/27 Javascript
vue组件文档(.md)中如何自动导入示例(.vue)详解
2019/01/25 Javascript
基于vue-cli3和element实现登陆页面
2019/11/13 Javascript
Quasar Input:type="number" 去掉上下小箭头 实现加减按钮样式功能
2020/04/09 Javascript
深入讲解Python函数中参数的使用及默认参数的陷阱
2016/03/13 Python
Pandas统计重复的列里面的值方法
2019/01/30 Python
django url到views参数传递的实例
2019/07/19 Python
python 实现绘制整齐的表格
2019/11/18 Python
Python如何省略括号方法详解
2020/03/21 Python
宝塔面板出现“open_basedir restriction in effect. ”的解决方法
2021/03/14 PHP
html5简介_动力节点Java学院整理
2017/07/07 HTML / CSS
土木工程毕业生自荐信
2013/11/12 职场文书
学校校庆演讲稿
2014/05/22 职场文书
客户答谢会活动方案
2014/08/31 职场文书
2015年建筑工程工作总结
2015/05/13 职场文书
教师节祝酒词
2015/08/11 职场文书
小学作文指导之如何写人?
2019/07/08 职场文书
vue中 this.$set的使用详解
2021/11/17 Vue.js
Django框架模板用法详解
2022/06/10 Python