我有一个巨大的网址列表,都是这样的:
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='')
答案 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]