urllib和urllib2的区别-创新互联
创新互联www.cdcxhl.cn八线动态BGP香港云服务器提供商,新人活动买多久送多久,划算不套路!
创新互联是一家专注于成都网站制作、成都网站设计与策划设计,元江县网站建设哪家好?创新互联做网站,专注于网站建设十多年,网设计领域的专业建站公司;建站业务涵盖:元江县等地区。元江县做网站价格咨询:13518219792urllib和urllib2的区别?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
urllib和urllib2都是接受URL请求的相关模块,但是提供了不同的功能,最显著的区别如下:
(1)urllib仅可以接受URL,不能创建,设置headers的request类实例;
(2)但是urllib提供urlencode()方法用来GET查询字符串的产生,而urllib2则没有(这是urllib和urllib2经常一起使用的主要原因)
(3)编码工作使用urllib的urlencode()函数,帮我们将key:value这样的键值对转换成‘key=value’这样的字符串,解码工作可以使用urllib的unquote()函数。
urllib.encode()的使用
urlencode()里面必须是字典类型
# _*_ coding:utf-8 _*_ import urllib dic = {'derek':'编码'} print urllib.urlencode(dic) #derek=%E7%BC%96%E7%A0%81 m = urllib.urlencode(dic) print urllib.unquote(m) #derek=编码
一般HTTP请求提交数据,需要编码成 URL编码格式,然后做为url的一部分,或者作为参数传到Request对象中。
GET请求一般用于我们向服务器获取数据,比如说,我们用百度搜索知乎:https://www.baidu.com/s?wd=知乎
发现GEThttps://www.baidu.com/s?wd=%E7%9F%A5%E4%B9%8E,后面是一个长长的字符串,urldecode后发现就是知乎。
用urllib.urlencode()进行转码,然后组合url。
# _*_ coding:utf-8 _*_ import urllib,urllib2 url = 'http://www.baidu.com/s' headers = {'UserAgent':'Mozilla'} keyword = raw_input('请输入关键字:') wd = urllib.urlencode({'wd':keyword}) fullurl = url + '?' + wd print fullurl request = urllib2.Request(fullurl,headers=headers) response = urllib2.urlopen(request) print response.read()
然后输入关键字,爬取下对应的内容。
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注创新互联-成都网站建设公司行业资讯频道,感谢您对创新互联的支持。
本文题目:urllib和urllib2的区别-创新互联
网站URL:http://cdiso.cn/article/jggse.html