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脚本操作MongoDB的教程
Apr 16 Python
在Python中处理字符串之ljust()方法的使用简介
May 19 Python
Phantomjs抓取渲染JS后的网页(Python代码)
May 13 Python
windows下python和pip安装教程
May 25 Python
Python实现对文件进行单词划分并去重排序操作示例
Jul 10 Python
解决python os.mkdir创建目录失败的问题
Oct 16 Python
Django实现文件上传下载
Oct 06 Python
Python socket处理client连接过程解析
Mar 18 Python
Python中的特殊方法以及应用详解
Sep 20 Python
Python进阶学习之带你探寻Python类的鼻祖-元类
May 08 Python
python3.7.2 tkinter entry框限定输入数字的操作
May 22 Python
Python通过loop.run_in_executor执行同步代码 同步变为异步
Apr 11 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
把从SQL中取出的数据转化成XMl格式
2006/10/09 PHP
PHP判断是否有Get参数的方法
2014/05/05 PHP
php微信公众开发之获取周边酒店信息的方法
2014/12/22 PHP
php计算两个日期相差天数的方法
2015/03/14 PHP
简单介绍PHP的责任链编程模式
2015/08/11 PHP
PHP判断上传文件类型的解决办法
2015/10/20 PHP
Zend Framework入门知识点小结
2016/03/19 PHP
PHP 实现页面静态化的几种方法
2017/07/23 PHP
做网页的一些技巧(续)
2007/02/01 Javascript
发布BlueShow v1.0 图片浏览器(类似lightbox)blueshow.js 打包下载
2007/07/21 Javascript
jQuery Migrate 1.1.0 Released 注意事项
2014/06/14 Javascript
详解JavaScript中setSeconds()方法的使用
2015/06/11 Javascript
浅谈Javascript实现继承的方法
2015/07/06 Javascript
全面解析Bootstrap排版使用方法(文字样式)
2015/11/30 Javascript
JavaScript实现垂直向上无缝滚动特效代码
2016/11/23 Javascript
JS加密插件CryptoJS实现的Base64加密示例
2020/08/16 Javascript
详解vue文件中使用echarts.js的两种方式
2018/10/18 Javascript
浅析Angular 实现一个repeat指令的方法
2019/07/21 Javascript
使用JavaScrip模拟实现仿京东搜索框功能
2019/10/16 Javascript
JS原型对象操作实例分析
2020/06/06 Javascript
解决vue 给window添加和移除resize事件遇到的坑
2020/07/21 Javascript
Vue实现摇一摇功能(兼容ios13.3以上)
2021/01/26 Vue.js
详解Vue3.0 + TypeScript + Vite初体验
2021/02/22 Vue.js
Python去除字符串前后空格的几种方法
2019/03/04 Python
Python 中包/模块的 `import` 操作代码
2019/04/22 Python
Python SMTP配置参数并发送邮件
2020/06/16 Python
基于Python爬取股票数据过程详解
2020/10/21 Python
俄罗斯金苹果网上化妆品和香水商店:Goldapple
2019/12/01 全球购物
英国在线定做百叶窗网站:Make My Blinds
2020/08/17 全球购物
宣传部部长竞选演讲稿
2014/04/26 职场文书
工会主席事迹材料
2014/06/03 职场文书
平面设计专业求职信
2014/08/09 职场文书
政府个人对照检查材料思想汇报
2014/10/08 职场文书
公司欠款证明
2015/06/24 职场文书
助学金申请书该怎么写?
2019/07/16 职场文书
解析MySQL索引的作用
2022/03/03 MySQL