Python - 将url拆分为其组件

Hyp*_*ion 6 python regex urlparse

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

http://www.example.com/site/section1/VAR1/VAR2
Run Code Online (Sandbox Code Playgroud)

其中VAR1和VAR2是网址的动态元素.我想要做的是从这个url字符串中只提取VAR1.我试过使用urlparse,但输出看起来像这样:

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

Nam*_*ani 12

一般情况下,您可以记住这一点。可以使用 获取 url 的不同部分urlparse。这里可以获取pathbyurlparse(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'
Run Code Online (Sandbox Code Playgroud)

  • 对于 python 3 来说是“from urllib.parse import urlparse” (4认同)

ale*_*cxe 9

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

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

  • rsplit 比 split 更有效,因为它使用 maxsplit 参数保存拆分。 (2认同)