Python unescape URL - PullRequest
       3

Python unescape URL

4 голосов
/ 30 ноября 2010

У меня есть URL в этой форме - http:\\/\\/en.wikipedia.org\\/wiki\\/The_Truman_Show. Как я могу сделать это нормальный URL. Я пытался использовать urllib.unquote без особого успеха.

Я всегда могу использовать регулярные выражения или просто заменять строки. Но я считаю, что есть лучший способ справиться с этим ...

Ответы [ 3 ]

11 голосов
/ 30 ноября 2010

urllib.unquote - для замены %xx escape-кодов в URL на символы, которые они представляют.Это не будет полезно для этого.

Ваш "простой материал для замены строк", вероятно, является лучшим решением.

5 голосов
/ 30 ноября 2010

Вы пытались использовать json.loads из json модуля?

>>> json.loads('"http:\\/\\/en.wikipedia.org\\/wiki\\/The_Truman_Show"')
'http://en.wikipedia.org/wiki/The_Truman_Show'

Входные данные, которые я показываю, не совсем то, что у вас есть. Я обернул его в двойные кавычки, чтобы сделать его действительным json.

Когда вы впервые получаете его от json, как вы его расшифруете? Это, вероятно, где проблема.

1 голос
/ 23 февраля 2011

Это слишком по-детски - ищите библиотечную функцию, когда вы можете преобразовать URL самостоятельно.Поскольку нет других видимых правил, но "/" заменяется на "\ /", вы можете просто заменить его обратно:

def unescape_this(url):
    return url.replace(r"\\/", "/")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...