Как удалить строку запроса из URL? - PullRequest

Ответы [ 3 ]

0 голосов
/ 29 июня 2018

Очень полезная библиотека furl упрощает удаление частей запроса и фрагментов:

>>> furl.furl("https://hi.com/?abc=def#ghi").remove(args=True, fragment=True).url
https://hi.com/
0 голосов
/ 29 июня 2018

Вы можете разделить что-то, чего нет в строке, вы просто получите список из одного элемента, поэтому, в зависимости от вашей цели, вы можете сделать что-то подобное, чтобы упростить существующий код:

url = url.split('?')[0].split('#')[0]

Не сказать, что это лучший способ (furl - отличное решение), но это способ.

0 голосов
/ 29 июня 2018

Вы можете попробовать

urls = ["https://stackoverflow.com/questions/7990301?aaa=aaa",
"https://stackoverflow.com/questions/7990300?fr=aladdin",
"https://stackoverflow.com/questions/22375#6",
"https://stackoverflow.com/questions/22375"?,
"https://stackoverflow.com/questions/22375#3_1"]

urls_without_query = [url.split('?')[0] for url in urls]

например, "https://stackoverflow.com/questions/7990301?aaa=aaa".split() возвращает список, который выглядит как ["https://stackoverflow.com/questions/7990301", "aaa=aaa"], и если эта строка url, url.split('?')[0] даст вам "https://stackoverflow.com/questions/7990301".

Редактировать: я не думал о # аргументах. Другие ответы могут помочь вам больше:)

...