2010-11-30 10 views
4

私はこの形式のURLを持っています - http:\\/\\/en.wikipedia.org\\/wiki\\/The_Truman_Show。どうすれば正常なURLにすることができますか?私はurllib.unquoteを使用してみました。PythonアンエスケープURL

私はいつも正規表現やいくつかの簡単な文字列を置き換えることができます。しかし、私はこれを処理するためのより良い方法があると信じています...

+0

は、どのようにそれはそのように終わるのですか? – aaronasterling

+0

これはwikipedia api jsonサービスの出力です... –

答えて

5

jsonモジュールのjson.loadsを試しましたか?

私が表示している入力は、正確にはあなたのものではありません。私はそれを有効なjsonにするために二重引用符で囲みました。

最初にjsonから取得したら、どうやってそれをデコードしていますか?おそらく問題がどこにあるのでしょうか。

+0

awesome!私は二重引用符をQに含めるのを忘れました。これは動作します... –

11

urllib.unquoteは、それらが表す文字でURLの%xxエスケープコードを置き換えるためのものです。これは役に立たないでしょう。

あなたの「単純な文字列を置き換えるもの」がおそらく最適な解決策です。

1

あまりにも幼稚です - 自分でURLを変換できる場合は、ライブラリ機能を探してください。 が他の可視ルールはありませんが、「/」「\ /」に置き換えられているので、あなたは単にそれをバック置き換えることができます。

def unescape_this(url): 
    return url.replace(r"\\/", "/") 
関連する問題