Как удалить идентификатор фрагмента из URL? - PullRequest
9 голосов
/ 06 июня 2011

У меня есть строка, содержащая ссылку.Ссылка часто имеет вид:

Есть ли в python функция, которая может удалить "#something" из ссылки?

Ответы [ 5 ]

35 голосов
/ 06 июня 2011

Для Python 2 используйте urlparse.urldefrag :

>>> urlparse.urldefrag("http://www.address.com/something#something")
('http://www.address.com/something', 'something')
12 голосов
/ 06 июня 2011

Просто используйте split()

>>> foo = "http://www.address.com/something#something"
>>> foo = foo.split('#')[0]
>>> foo
'http://www.address.com/something'
>>>
3 голосов
/ 04 июня 2016

В Python 3 функция urldefrag теперь является частью urllib.parse:

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

('http://www.address.com/something', 'something')
1 голос
/ 06 июня 2011

Попробуйте это:

>>> s="http://www.address.com/something#something"
>>> s1=s.split("#")[0]
>>> s1
'http://www.address.com/something'
0 голосов
/ 19 июня 2017

Вы можете назначить ненужную часть следующим образом:

fixed, throwaway = urldefrag(url)

, где url - фрагментарный адрес.Это немного лучше, чем раскол.Хотя я не проверял, быстрее ли он или эффективнее.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...