如果我有一个URL,并且我想将所有这样的类别URL从我已经拥有的URL列表中分离出来,我该如何在www.somewebsite/category/category-xyz
中做到这一点呢?
发布于 2018-07-17 02:11:19
看一看urlparse
>>> from urllib.parse import urlparse
>>> url = "http://www.test.com:8080/cat1/cat2"
>>> parsed = urlparse(url)
>>> parsed
ParseResult(scheme='http', netloc='www.test.com:8080', path='/cat1/cat2', params='', query='', fragment='')
>>> parsed.path
'/cat1/cat2'
>>> parsed.path.split("/")
['', 'cat1', 'cat2']
如果你注意到上面的内容,URL解析将会处理掉你不关心的东西,让你的字符串处理变得更容易。在上面的示例中,您可以看到它干净利落地分解了协议、主机和端口,只留下了要操作的路径。此外,如果有任何额外的查询参数,它也会中断这些参数。
一旦你有了"path“字符串,你就可以像解析任何字符串一样简单地解析它。因为您的路径总是以"/“开头,所以您可以在字符串拆分中省略它
>>> parsed.path.split("/")[1:]
['cat1', 'cat2']
请注意,如果您的URL不包含路径,则此操作可能会失败。如果你需要更多细节,你应该在问题中提供你想要的最终结果
https://stackoverflow.com/questions/51367525
复制相似问题