python中使用urllib2伪造HTTP报头的2个方法
作者:junjie 发布时间:2022-10-19 07:05:06
标签:python,urllib2,伪造报头,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
0
投稿
猜你喜欢
- 在写代码的时候,往往会漏掉日志这个关键因素,导致功能在使用的时候出错却无法溯源。其实,只需要写一个非常简单的日志装饰器,我们就能大大提升排查
- 代码如下:--建立数据表createtable TestData ( ID int identity(1,1) primary key, D
- 最近,随着数据库的日益庞大,本来两个差不多的数据库,我开始发现我的数据库查询起来越来越比我朋友网站的慢了,经过初步对照,问题好像出在访问记录
- 本文实例为大家分享了python爬虫爬取淘宝商品的具体代码,供大家参考,具体内容如下1、需求目标 : 进去淘宝页面,搜索耐克关键词,抓取 商
- Python 读取WAV文件import waveimport structfrom scipy import *from pylab im
- 在Python的标准库中,functools库中有很多对方法有操作的封装功能,partial Objects就是其中之一,他可以实现对方法参
- 终于构建出了第一个神经网络,Keras真的很方便。之前不知道Keras这么方便,在构建神经网络的过程中绕了很多弯路,最开始学的TensorF
- 当然可以,我们使用强大的fso对象来获取文件夹的大小请敲入如下代码即可:<%Set MyFileSize =&nb
- 用mysqldump和source可以使用这种方式导出数据:mysqldump -urott -P5678 --default-charac
- HTML是万维网上发布超文本的通用语言[1]。从1982年Tim Berners-Lee简化SGML建立HTML的原始定义到2001年发布X
- 主要作用与拷贝文件用的。1.shutil.copyfileobj(文件1,文件2):将文件1的数据覆盖copy给文件2。import shu
- 这一段要毕业,得折磨自己两个月....这段时间还是会摆弄了javascript的.大致在下面两个方面: 1.javascript的
- blankzheng的blog:http://www.planabc.net/1、使用fieldset和legend标签在form中,我们经
- 在IE比较简单,大家都知道用setHomePage来设置,懒人写法:<a href="#setHomePage"
- 1.生成器# 一边循环一边计算的机制,称为生成器:generator;# 创建generator方法:# 1.把一个列表生成式的[]改成()
- 故事的开始:.count()假设你有一个Notification Model类,保存的主要是所有的站内通知:class Notificati
- 下面就是我们的authenticate.asp页面,在这里,将用户的信息收集起来,连同最初的URL一起传到一个识别用户身份的页面中。我们可用
- 本文实例讲述了python实现给微信公众号发送消息的方法。分享给大家供大家参考,具体如下:现在通过发微信公众号信息来做消息通知和告警已经很普
- Django1.8.2中文文档:Django1.8.2中文文档上传图片配置上传文件保存目录1)新建上传文件保存目录。2)配置上传文件保存目录
- 菜单栏,tools--去掉勾选的Vim Emulator这个仿真插件就好了。来源:https://blog.csdn.net/weixin_