Python - 将url拆分为其组件

时间:2015-07-01 19:39:31

标签: python regex urlparse

我有一个巨大的网址列表,都是这样的:

http://www.example.com/site/section1/VAR1/VAR2

其中VAR1和VAR2是网址的动态元素。我想要做的是从这个url字符串中只提取VAR1。我尝试使用urlparse,但输出如下:

ParseResult(scheme='http', netloc='www.example.com', path='/site/section1/VAR1/VAR2', params='', query='', fragment='')

4 个答案:

答案 0 :(得分:6)

或者,您可以应用split()方法:

>>> url = "http://www.example.com/site/section1/VAR1/VAR2"
>>> url.split("/")[-2:]
['VAR1', 'VAR2']

答案 1 :(得分:4)

你可以记住这一般。可以使用urlparse获取网址的不同部分。在这里,您可以path获取urlparse(url).path,然后按split()函数获取所需的变量

>>> from urlparse import urlparse
>>> url = 'http://www.example.com/site/section1/VAR1/VAR2' 
>>> urlparse(url)
ParseResult(scheme='http', netloc='www.example.com', path='/site/section1/VAR1/VAR2', params='', query='', fragment='')
>>> urlparse(url).path
'/site/section1/VAR1/VAR2'
>>> urlparse(url).path.split('/')[-2]
'VAR1'

答案 2 :(得分:1)

检查这个,它非常有效,因为它从字符串末尾开始,使用maxsplit选项,我们可以停止分割数。

最后,您可以使用索引来获取网址的最后两部分

>>> url.rsplit('/',2)[1:]
['VAR1', 'VAR2']

答案 3 :(得分:0)

我会尝试

url = 'http://www.example.com/site/section1/VAR1/VAR2'
var1 = url.split('/')[-2]