Python爬虫入门笔记:urllib库的使用2
2016-04-26 11:41
731 查看
上文我们说了urllib库的简单使用,简单总结之:urllib2用一个Request对象来映射你提出的HTTP请求。你用你要请求的地址创建一个Request对象,通过调用urlopen并传入Request对象,将返回一个相关请求response对象,这个应答你可以在Response中调用.read()。
其实,在HTTP请求时除了上文提到的可能要加headers验证,还需要传入表单数据,打个比方,大灰狼要进门,不光要带上兔子妈妈的面具,还要跟小兔子对暗号的,这个暗号就是表单数据,对上号了,大灰狼就可以进去饱餐一顿喽!
数据传送分为POST和GET两种方式,两种方式有什么区别呢?
最重要的区别是GET方式是直接以链接形式访问,链接中包含了所有的参数,当然如果包含了密码的话是一种不安全的选择,不过你可以直观地看到自己提交了什么内容。POST则不会在网址上显示所有的参数,不过如果你想直接查看提交了什么就不太方便了,大家可以酌情选择。
1、POST方式
在HTTP中,POST请求发送是最常用的,通常在你提交一个HTML表单时由你的浏览器来做,并不是所有的POSTs都来源于表单,你能够使用POST提交任意的数据到你自己的程序。一般的HTML表单,data需要编码成标准形式。然后做为data参数传到Request对象。编码工作使用urllib的函数而非urllib2。
下面我们借用一个例子感受一下:
2、GET方式
至于GET方式我们可以直接把参数写到网址上面,直接构建一个带参数的URL出来即可。
好啦,大家可以在实例中自己尝试一下!
更多关于urllib的资料:
1、http://blog.csdn.net/pleasecallmewhy/article/details/8923067
2、http://cuiqingcai.com/947.html
3、http://www.cnblogs.com/yuxc/archive/2011/08/01/2123995.html
其实,在HTTP请求时除了上文提到的可能要加headers验证,还需要传入表单数据,打个比方,大灰狼要进门,不光要带上兔子妈妈的面具,还要跟小兔子对暗号的,这个暗号就是表单数据,对上号了,大灰狼就可以进去饱餐一顿喽!
数据传送分为POST和GET两种方式,两种方式有什么区别呢?
最重要的区别是GET方式是直接以链接形式访问,链接中包含了所有的参数,当然如果包含了密码的话是一种不安全的选择,不过你可以直观地看到自己提交了什么内容。POST则不会在网址上显示所有的参数,不过如果你想直接查看提交了什么就不太方便了,大家可以酌情选择。
1、POST方式
在HTTP中,POST请求发送是最常用的,通常在你提交一个HTML表单时由你的浏览器来做,并不是所有的POSTs都来源于表单,你能够使用POST提交任意的数据到你自己的程序。一般的HTML表单,data需要编码成标准形式。然后做为data参数传到Request对象。编码工作使用urllib的函数而非urllib2。
下面我们借用一个例子感受一下:
#_*_coding:utf-8_*_ import urllib import urllib2 url = 'http://www.someserver.com/register.cgi' #构造表单内容 values = {'name': 'WHY', 'location': 'SDU', 'language': 'Python'} # 编码工作 data = urllib.urlencode(values) # 发送请求同时传data表单 req = urllib2.Request(url, data) #接受反馈的信息 response = urllib2.urlopen(req) #读取反馈的内容 the_page = response.read()
2、GET方式
至于GET方式我们可以直接把参数写到网址上面,直接构建一个带参数的URL出来即可。
#_*_coding:utf-8_*_ import urllib import urllib2 #构造表单内容 values={} values['name'] = 'WHY' values['location'] = 'SDU' values['language'] = 'Python' #编码工作 data = urllib.urlencode(values) url = 'http://www.example.com/example.cgi' #构造新的url full_url = url + '?' + data request = urllib2.Request(full_url) response = urllib2.urlopen(request) print response.read()
好啦,大家可以在实例中自己尝试一下!
更多关于urllib的资料:
1、http://blog.csdn.net/pleasecallmewhy/article/details/8923067
2、http://cuiqingcai.com/947.html
3、http://www.cnblogs.com/yuxc/archive/2011/08/01/2123995.html
相关文章推荐
- Python动态类型的学习---引用的理解
- Python3写爬虫(四)多线程实现数据爬取
- 垃圾邮件过滤器 python简单实现
- 下载并遍历 names.txt 文件,输出长度最长的回文人名。
- install and upgrade scrapy
- Scrapy的架构介绍
- Centos6 编译安装Python
- 使用Python生成Excel格式的图片
- 让Python文件也可以当bat文件运行
- [Python]推算数独
- 爬虫笔记
- Python中zip()函数用法举例
- Python中map()函数浅析
- Python将excel导入到mysql中
- Python在CAM软件Genesis2000中的应用
- 使用Shiboken为C++和Qt库创建Python绑定
- 使用Eric新建Python GUI项目