У меня есть строка, содержащая ссылку.Ссылка часто имеет вид:
http://www.address.com/something#something
Есть ли в python функция, которая может удалить "#something" из ссылки?
Для Python 2 используйте urlparse.urldefrag :
>>> urlparse.urldefrag("http://www.address.com/something#something") ('http://www.address.com/something', 'something')
Просто используйте split()
split()
>>> foo = "http://www.address.com/something#something" >>> foo = foo.split('#')[0] >>> foo 'http://www.address.com/something' >>>
В Python 3 функция urldefrag теперь является частью urllib.parse:
urldefrag
urllib.parse
from urllib.parse import urldefrag unfragmented = urldefrag("http://www.address.com/something#something") ('http://www.address.com/something', 'something')
Попробуйте это:
>>> s="http://www.address.com/something#something" >>> s1=s.split("#")[0] >>> s1 'http://www.address.com/something'
Вы можете назначить ненужную часть следующим образом:
fixed, throwaway = urldefrag(url)
, где url - фрагментарный адрес.Это немного лучше, чем раскол.Хотя я не проверял, быстрее ли он или эффективнее.