引言
在Python中有两个模块可以处理URL,他们分别有不同的功能和兼容性。一个是urlparse,另一种是urllib,还有一种urllib2。但是在Python3中这些模块都被整合到了urllib模块下面。其中urllib和urllib2被整合到了urllib.request。urlparse被整合到urllib.parse,另外python3的urllib还包括response,error和robotparse等。所以说除非你去编写更底层的东西,不然urllib就够用了,它给你提供了一个高级的Web通信库,支持Web协议,同时也支持对本地文件的访问。今天我们就来好好认识一下urllib中的各路大神。
实例
我忘了之前有没有个大家说过,我不建议初学者去啃文档。因为那些繁琐的文档会磨灭你对Python的热情。所以我比较提倡实战中学习。所以这节的urllib模块我们通过一个个小实例来学习它。
例1
运行后输出:
它主要是用来打开某个URL,其中参数url就是打开的目标,data是指定要发送到服务器的其它数据对象,如果没有默认None,timeout指定超时时间。其它参数在这里可以暂且不理他。应该有同学发现了,在上面的实例中返回的结果是bytes对象。这是因为urlopen不能确定它从http获取到的字节的编码。所以一般情况下我们使用的时候都会给他转一次格式,比如:
运行后输出:
例2
运行后输出
在这里主要用到的是urlparse,它的主要作用就是URL的解析,它会把一个完整的URL解析成我们上节中将到的那几个组件。既然有解析,那是不是也有组合呀?答案是肯定的,如果你给一堆组件可以是用urlunparse给你组装成一个URL。
例3
运行后输出
这里用到的是urljoin,它的作用显而易见了,就是把两个相关的URL连接起来。
这个说都了也没有意思。咱们进行下一章节吧。中间遇到哪些命令了我们再说。单讲命令就太枯燥了
领取专属 10元无门槛券
私享最新 技术干货