“Python的url解析库--urlparse”的版本间的差异

来自linux中国网wiki
跳到导航 跳到搜索
docker>Evan
 
(导入1个版本)

2019年10月14日 (一) 13:52的版本


将URL解析为六个组件,返回一个6元组。这对应于URL的一般结构:scheme:// netloc / path; parameters?query#fragment。每个元组项都是一个字符串,可能是空的。组件不会在较小的部分分解(例如,网络位置是单个字符串),并且%转义不会展开。如上所示的分隔符不是结果的一部分,除了路径组件中的前导斜杠,如果存在则保留。

In [5]: url = 'http://localhost:4242'
In [6]: name = urlparse(url)[1]

In [7]: print name
localhost:4242

In [8]: parts = name.split(':')
In [9]: parts[-1]
Out[9]: '4242'
 #这个func  从url中提取端口号 P412 
 
如果 
    In [10]: name = urlparse(url)

In [11]: print name 
ParseResult(scheme='http', netloc='localhost:4242', path='', params='', query='', fragment='')


注意:

在Python3中, urlparse已经被移动到urllib.parse中。
在urlparse中有两个函数:urlparse.parse_qs()和urlparse.parse_qsl()。这两个函数都能解析url中的query字段。如果url的query中有同一个key对应多个value,其中urlparse.parse_qs()可以把该相同key的value放在一个list中。


see also

Python urlparse函数详解

Python的url解析库--urlparse