代码之家  ›  专栏  ›  技术社区  ›  Srikar Appalaraju Tonetel

Python unescape URL

  •  4
  • Srikar Appalaraju Tonetel  · 技术社区  · 15 年前

    我在这张表格里有一个网址- http:\\/\\/en.wikipedia.org\\/wiki\\/The_Truman_Show . 我怎样才能使它成为普通的url。我试过用 urllib.unquote 没有多少成功。

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

    3 回复  |  直到 14 年前
        1
  •  5
  •   aaronasterling    15 年前

    你试过用 json.loads json 模块?

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

    我展示的信息并不完全是你的。我用双引号将其包装起来,使其成为有效的json。

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

        2
  •  11
  •   Angus    15 年前

    urllib.unquote 用于替换 %xx URL中的转义代码及其表示的字符。这对这个没用。

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

        3
  •  1
  •   Denis Barmenkov    15 年前

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

    def unescape_this(url):
        return url.replace(r"\\/", "/")
    
    推荐文章