繁体   English   中英

Python unescape URL

[英]Python unescape URL

我有一个这种形式的网址 - http:\\\\/\\\\/en.wikipedia.org\\\\/wiki\\\\/The_Truman_Show 我怎样才能使它成为正常的网址。 我尝试过使用urllib.unquote但没有取得多大成功。

我总是可以使用正则表达式或一些简单的字符串替换。 但我相信有更好的方法可以解决这个问题......

urllib.unquote用于将URL中的%xx转义码替换为它们所代表的字符。 它对此没有用。

你的“简单字符串替换东西”可能是最好的解决方案。

您是否尝试过使用json模块中的json.loads

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

我正在展示的输入并不完全是你所拥有的。 我把它用双引号括起来使它成为有效的json。

当你第一次从json获得它时,你是如何解码它的? 这可能就是问题所在。

它太幼稚了 - 当你可以自己转换URL时,寻找一些库函数。 由于没有其他可见规则,但“/”替换为“\\ /”,您只需将其替换回来:

def unescape_this(url):
    return url.replace(r"\\/", "/")

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM