パスの "./"または "../"部分を削除する、またはデフォルトのポートを追加する、特殊文字をエスケープするなど、PythonでURLを正規化するライブラリ関数を探しています。結果は、同じWebページを指す2つのURLに固有の文字列でなければなりません。例えば、http://google.com
とhttp://google.com:80/a/../
は同じ結果を返します。URLを正規化/正規化しますか?
私はPython 3が好きで、既にurllib
モジュールを調べました。 URLを分割する機能はありますが、URLを正規化する機能はありません。 Javaには同様のことを行うURI.normalize()
関数があります(デフォルトのポート80は指定されたポートとはみなされません)が、これはPythonのようなものですか?これについて
'ます。http:// google.com /は' 'HTTPと同じではありません://グーグル.com:80/a /../ 'つまり、 '/ a'が存在しなければ、2番目のパスは失敗します。それを "正規化"することによって、特別なケースを失い、無効なもので始まったときに有効なURIで終わる... –