Python Web开发 处理URL

引言

 在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连接起来。

这个说都了也没有意思。咱们进行下一章节吧。中间遇到哪些命令了我们再说。单讲命令就太枯燥了

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180912G0AN0U00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券