如何从URL中移除片段标识符?

13 投票
5 回答
7842 浏览
提问于 2025-04-16 19:01

我有一个字符串里面包含了一个链接。这个链接通常是这样的格式:

http://www.address.com/something#something

请问在Python里有没有什么函数可以把链接中的“#something”去掉呢?

5 个回答

13

在Python 3中,urldefrag这个函数现在是urllib.parse库的一部分:

from urllib.parse import urldefrag
unfragmented = urldefrag("http://www.address.com/something#something")

结果:

('http://www.address.com/something', 'something')
40

对于Python 2,可以使用 urlparse.urldefrag 这个功能:

>>> urlparse.urldefrag("http://www.address.com/something#something")
('http://www.address.com/something', 'something')
15

只需要用 split() 这个方法就可以了。

>>> foo = "http://www.address.com/something#something"
>>> foo = foo.split('#')[0]
>>> foo
'http://www.address.com/something'
>>>

撰写回答