当前位置: 首页 > 图灵资讯 > 行业资讯> urllib和urllib2有什么区别

urllib和urllib2有什么区别

发布时间:2025-10-29 16:15:39

urllib和urllib2都是接受url请求的相关模块,但提供了不同的功能,最明显的区别如下:

(1)urllib只能接受url,不能创建,设置headersrequest类实例;

(2)但是urllib为GET查询字符串的生成提供了urlencode()方法,而urllib2则没有(这是urllib和urllib2经常一起使用的主要原因)

(3)编码工作使用urlliburlencode()函数,帮助我们使用key:value等键值转换为‘key=value用urllib的unquote()函数解码这样的字符串。

urllib.encode()的使用

urlencode()字典类型必须在里面

#_*_coding:utf-8_*_
importurllib
dic={'derek':'编码'}
printurllib.urlencode(dic)#derek=%E7%BC%96%E7%A0%81
m=urllib.urlencode(dic)
printurllib.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被发现是知乎。

1561952127909957.png1561952351367605.pngdd.png

相关推荐:Python视频教程

使用urllib.urlencode()转码,然后组合url。

#_*_coding:utf-8_*_
importurllib,urllib2
url='http://www.baidu.com/s'
headers={'UserAgent':'Mozilla'}
keyword=raw_input('请输入关键字:')
wd=urllib.urlencode({'wd':keyword})
fullurl=url+'?'+wd
printfullurl
request=urllib2.Request(fullurl,headers=headers)
response=urllib2.urlopen(request)
printresponse.read()

然后输入关键字,爬取相应的内容。

ff.png

gg.png

相关文章

urllib和urllib2有什么区别

urllib和urllib2有什么区别

2025-10-29
Python time模块详解

Python time模块详解

2025-10-29
浅谈Python异常处理机制

浅谈Python异常处理机制

2025-10-29
Python finally-资源回收

Python finally-资源回收

2025-10-29
Python traceback模块:获取异常信息

Python traceback模块:获取异常信息

2025-10-29
Python格式化字符串(格式化输出)

Python格式化字符串(格式化输出)

2025-10-28