Python の初心者として、私は urllib と urllib2 について常に混乱しており、2 は 1 のアップグレード バージョンであると考えていました。今日外国人が書いた記事「Python: urllib と urllib2 の違い」を見て違いが分かりました
あなたは、Python の urllib と urllib2 という 2 つの別個の URL モジュールの存在に興味をそそられるかもしれません。さらに興味深いのは、これらは互いの代替ではないということです。では、urllib と urllib2 の違いは何でしょうか。また、両方が必要なのでしょうか。 ?
Python の 2 つの独立した存在、urllib2 と -urllib2 について興味があるかもしれません。さらに興味深いのは、それらは交換可能ではないということです。では、これら 2 つのモジュールの違いは何でしょうか?両方が必要なのでしょうか?
urllib と urllib2 はどちらも URL リクエスト関連の処理を行う Python モジュールですが、提供する機能が異なります。最も重要な 2 つの違いを以下に示します。
urllib と urllib2 はどちらも URL リクエストを受け入れる関連モジュールですが、異なる機能を提供します。最も重要な 2 つの違いは次のとおりです:
•urllib2 は URL リクエストのヘッダーを設定するための Request オブジェクトを受け入れることができますが、urllib は URL のみを受け入れます。つまり、ユーザー エージェント文字列などをマスカレードすることはできません。
urllib2 は、Request クラスのインスタンスを受け入れて URL リクエストのヘッダーを設定できますが、urllib は URL のみを受け入れることができます。これは、ユーザー エージェント文字列などを偽装できないことを意味します。
•urllib は GET クエリ文字列の生成に使用される urlencode メソッドを提供しますが、urllib2 にはそのような関数がありません。これが、urllib が urllib2 とともによく使用される理由の 1 つです。
urllib は GET クエリ文字列を生成するための urlencode メソッドを提供しますが、urllib2 は提供しません。このため、urllib は urllib2 と一緒によく使用されます。
urllib と urllib2 のその他の違いについては、そのドキュメントを参照してください。リンクは「参考」セクションにあります。
ヒント: HTTP のみを実行する予定がある場合は、httplib2 をチェックしてください。httplib や urllib、urllib2 よりもはるかに優れています。
関連情報
同様の質問と回答は次のとおりです: urllib urllib2 違いは何ですか?スタックオーバーフローでも: urllib と urllib2 を使用する必要がありますか?
Python ドキュメント