HTML ページで URL (主に HTTP URL) を解析する必要があるアプリに取り組んでいます。入力を制御できず、予想どおり、少し面倒です。
私が頻繁に遭遇する問題の 1 つは、パス部分に二重スラッシュがある URL の解析と結合に関しては、urlparse が非常に厳密である (そしておそらくバグがある?) ことです。たとえば、次のようになります。
testUrl = 'http://www.example.com//path?foo=bar'
urlparse.urljoin(testUrl,
urlparse.urlparse(testUrl).path)
期待される結果の代わりにhttp://www.example.com//path
(または正規化された単一のスラッシュを使用するとさらに良い結果になります)、最終的にはhttp://path
.
ところで、私がそのようなコードを実行している理由は、URL からクエリ/フラグメント部分を削除する唯一の方法を見つけたからです。もっといい方法があるのかもしれませんが、見つけられませんでした。
誰かがこれを回避する方法を推奨できますか、または(比較的単純な、私が知っている)正規表現を使用して自分でパスを正規化する必要がありますか?