python中使用urllib2伪造HTTP报头的2个方法

 更新时间:2014年07月07日 10:43:58   投稿:junjie  
这篇文章主要介绍了python中使用urllib2伪造HTTP报头的2个方法,即伪造http头信息,需要的朋友可以参考下

在采集网页信息的时候,经常需要伪造报头来实现采集脚本的有效执行

下面,我们将使用urllib2的header部分伪造报头来实现采集信息

方法1、

#!/usr/bin/python
# -*- coding: utf-8 -*-
#encoding=utf-8
#Filename:urllib2-header.py
 
import urllib2
import sys
 
#抓取网页内容-发送报头-1
url= "https://www.jb51.net"
send_headers = {
 'Host':'www.jb51.net',
 '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://www.jb51.net'
 
req = urllib2.Request(url)
req.add_header('Referer','https://www.jb51.net/')
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

您可能感兴趣的文章:

相关文章

  • 如何利用pandas工具输出每行的索引值、及其对应的行数据

    如何利用pandas工具输出每行的索引值、及其对应的行数据

    这篇文章主要介绍了如何利用pandas工具输出每行的索引值、及其对应的行数据,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-03-03
  • Pytorch实现List Tensor转Tensor,reshape拼接等操作

    Pytorch实现List Tensor转Tensor,reshape拼接等操作

    这篇文章主要介绍了Pytorch实现List Tensor转Tensor,reshape拼接等操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-11-11
  • Python+Pillow进行图形处理的示例详解

    Python+Pillow进行图形处理的示例详解

    PIL:Python Imaging Library,已经是Python平台事实上的图像处理标准库了。PIL功能非常强大,但API却非常简单易用。本文就将利用Pillow进行简单的图形处理,需要的可以参考一下
    2022-10-10
  • 利用python库matplotlib绘制不同的图表

    利用python库matplotlib绘制不同的图表

    这篇文章主要介绍了利用python库matplotlib绘制不同的图表,使用python中的matplotlib绘制图表,主要分享绘制简单的曲线图、单条曲线图、多条曲线图、直方图以及散点图的思路和用法,需要的朋友可以参考一下
    2022-03-03
  • linux系统下pip升级报错的解决方法

    linux系统下pip升级报错的解决方法

    这篇文章主要给大家介绍了关于linux系统下pip升级报错的解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01
  • 从Python的源码浅要剖析Python的内存管理

    从Python的源码浅要剖析Python的内存管理

    这篇文章主要介绍了从Python的源码浅要剖析Python的内存管理,需要的朋友可以参考下
    2015-04-04
  • 机器学习Erdos Renyi随机图生成方法及特性

    机器学习Erdos Renyi随机图生成方法及特性

    这篇文章主要为大家介绍了机器学习Erdos Renyi随机图生成方法及特性详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05
  • python3整数反转的实现方法

    python3整数反转的实现方法

    这篇文章主要介绍了python3整数反转的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-04-04
  • 简述:我为什么选择Python而不是Matlab和R语言

    简述:我为什么选择Python而不是Matlab和R语言

    这篇文章主要介绍了简述:我为什么选择Python而不是Matlab和R语言,具有一定参考价值,需要的朋友可以了解下。
    2017-11-11
  • 使用wxPython和ECharts实现生成和保存HTML图表

    使用wxPython和ECharts实现生成和保存HTML图表

    wxPython是一个基于wxWidgets的Python GUI库,ECharts是一个用于数据可视化的JavaScript库,本文主要为大家介绍了如何使用wxPython和ECharts库来生成和保存HTML图表,感兴趣的可以学习一下
    2023-08-08

最新评论