リクエストモジュールを使用してリクエストを送信する前に、前に学習したURL(Uniform Resource Locator)を確認する必要があります。
データが配置されているURLアドレスを取得した後、ネットワークリクエストを送信すると、リクエストされたURLには、クエリパラメータとリクエストパラメータの2つのアドレスパラメータが含まれます。
Pythonクローラー、データ分析、Webサイト開発、その他のケースチュートリアルビデオはオンラインで無料で視聴できます
https://space.bilibili.com/523606542
Python学習交換グループ:1039645993
クエリパラメータ
いくつかの特別なURLをクロールすると、次のサイトなど、要求されたURLにいくつかの特別なパラメーターがあります。
これは、URLのクエリパラメータです。URLの前?バイナリデータの後ろにはクエリパラメータがあります。
URLクエリ文字列(クエリ文字列)は、ある種のデータを渡しました。URL、つまり文字列を連結して作成されたURLを手動で作成する場合。次に、データはキーと値のペアの形式でURLに配置され、その後に疑問符が続きます。
例えば:
https://image.so.com/i?q=%E9%A3%8E%E6%99%AF&src=srp
paramsキーワードパラメータ
リクエストを 使用すると、paramsキーワードパラメータを使用して、これらのパラメータをディクショナリに提供できます。
たとえば、key1 = value1とkey2 = value2をhttpbin.org/getに渡す場合は、次のコードを使用できます。
import request
params = {'q' : '风景' , 'src' : 'srp'}
response = requests.get("https: //image.so.com/i",params=params)
URLを印刷すると、URLが正しくエンコードされていることがわかります。
print(response.url)
# 打印结果
https : / /image.so.com/i?q=%E9%A3%8E%E6%99%AF&src=srp
注意
URLアドレスではデフォルトで漢字がサポートされていないため、リクエストで漢字がURLエンコード形式に変換されます
次の図に示すように、同じクエリパラメータが[ヘッダー]列の[クエリ文字列パラメータ]にあるブラウザキャプチャツールにあります。
リクエストパラメータ
リクエストパラメータとクエリパラメータには本質的な違いがあります。リクエストパラメータは通常、POSTリクエストを送信し、フォームデータリクエストをサーバーに送信するときに運ばれるパラメータです。
注:リクエストパラメータはURLアドレスに表示されず、クエリパラメータのみが表示されます。
リクエストパラメータはブラウザキャプチャツールにあり、次のデータキャプチャに示すように、[ヘッダー]列の下の[フォームデータ]にあります。
データキーワードパラメータ
リクエストモジュールでPOSTリクエストを送信することも比較的簡単な操作です。これを実現するには、データパラメータにディクショナリを渡すだけです。データディクショナリは、リクエストを行うときにフォームとして自動的にエンコードされます。
data = {'key1' : 'value1','key2 ' : 'value2 '}
response = requests.post("http://httpbin.org/post",data=data)
もちろん、リクエストでポストメソッドは、getメソッドと比較して1つの以上のデータパラメータを持っている。他のパラメータは類似している。例えば、我々はまた、クエリ文字列を追加することができますのparamsパラメータをポストにURLに、または追加のヘッダのパラメータ取得などを方法。。