指定されたURL文字列の前に 'http'スキーム名を追加したい場合は、それを追加します。さもなければ、私はurlparseがこれを行う正しい方法だと思ったので、urlだけを残しておいてください。しかし、スキームがなくてURLを取得する場合は、スキームとドメインの間に「//」の代わりに///を付けます。urlparse.urlparseスキームの後に2の代わりに3 '/'を返す
それが実際のように見えるので、私はこのURLを変換するにはどうすればよい>>> t = urlparse.urlparse('www.example.com', 'http')
>>> t.geturl()
'http:///www.example.com' # three ///
:
'http://www.example.com' # two //
です。私は、url構文解析がスキームの欠如を賢明に判断し、それをより良く再現するという印象を受けました。 URL文字列が 'http://'で始まるかどうかを確認し、それに応じて追加することで修正しました。 –
@ダン・ホルマン私はそれも期待していましたが、もしそれについて考えるなら、あなたはそれを本当に期待することはできません。 "images/tick.png"は絶対パスではなく相対パスを参照するためです。 urlparseはそれと "www.example.com"をどのように区別できますか?ドメイン名のように見えるだけで、それは有効なパスではありません。 – mgiuca