[解決済み] urllib、urllib2、urllib3、requestsモジュールの違いは何ですか?
2022-02-10 06:22:47
質問内容
Pythonでは、以下のような違いがあります。
urllib
,
urllib2
,
urllib3
そして
requests
モジュールですか?なぜ3つもあるのですか?同じことをやっているように見えるのですが...。
解決方法は?
すでに言われていることではありますが、ぜひお勧めしたいのが
requests
Pythonのパッケージです。
Python以外の言語を使ったことがある人は、きっとこう思うでしょう。
urllib
と
urllib2
は使いやすいし、コードも少ないし、能力も高い、以前はそう思っていたんです。 しかし
requests
パッケージは、信じられないほど便利で短いので、誰もが使うべきものです。
まず、完全にレストフルなAPIをサポートし、次のように簡単です。
import requests
resp = requests.get('http://www.mywebsite.com/user')
resp = requests.post('http://www.mywebsite.com/user')
resp = requests.put('http://www.mywebsite.com/user/put')
resp = requests.delete('http://www.mywebsite.com/user/delete')
GET/POSTに関わらず、パラメータをエンコードする必要はなく、単に辞書を引数にとればOKです。
userdata = {"firstname": "John", "lastname": "Doe", "password": "jdoe123"}
resp = requests.post('http://www.mywebsite.com/user', data=userdata)
さらに、JSONデコーダも内蔵しています(繰り返しますが、私は
json.loads()
というのも、これ以上書くことはないのですが、これは確かに便利です。)
resp.json()
また、レスポンスデータがテキストだけであれば、使用してください。
resp.text
これは氷山の一角に過ぎません。これはリクエストサイトからの機能一覧です。
- 国際ドメインとURL
- キープアライブ&コネクションプーリング
- クッキーの永続性を利用したセッション
- ブラウザ形式のSSL検証
- ベーシック/ダイジェスト認証
- エレガントキー/バリュークッキー
- 自動解凍
- ユニコード・レスポンス・ボディ
- マルチパートファイルのアップロード
- 接続タイムアウト
- .netrc対応
- リスト項目
- Python 2.7, 3.6-3.9
- スレッドセーフです。
関連
-
[解決済み] バイトを文字列に変換する
-
[解決済み] Pythonのリストメソッドであるappendとextendの違いは何ですか?
-
[解決済み] 変数を参照渡しする方法を教えてください。
-
[解決済み] オブジェクト名の前のシングルアンダーコアとダブルアンダーコアの意味は何ですか?
-
[解決済み] Pythonの旧スタイルのクラスと新スタイルのクラスの違いは何ですか?
-
[解決済み】ネストされたディレクトリを安全に作成するには?
-
[解決済み】__str__と__repr__の違いは何ですか?
-
[解決済み】venv, pyvenv, pyenv, virtualenv, virtualenvwrapper, pipenvなどの違いは何ですか?
-
[解決済み】type()とisinstance()の違いは何ですか?)
-
[解決済み】Python2のdict.items()とdict.iteritems()の違いは何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Python 人工知能 人間学習 描画 機械学習モデル作成
-
Python 可視化 big_screen ライブラリ サンプル 詳細
-
Pythonの学習とデータマイニングのために知っておくべきターミナルコマンドのトップ10
-
Pythonコードの可読性を向上させるツール「pycodestyle」の使い方を詳しく解説します
-
pyCaret効率化乗算器 オープンソース ローコード Python機械学習ツール
-
Python入門 openを使ったファイルの読み書きの方法
-
[解決済み】 NameError: グローバル名 'xrange' は Python 3 で定義されていません。
-
[解決済み] TypeError: 'DataFrame' オブジェクトは呼び出し可能ではない
-
[解決済み] HTTPでファイルをダウンロードするには?
-
[解決済み] Python 2 で HEAD HTTP リクエストを送信するには?