Pythonクローラーがティーチングを要求する(2つ):URLアドレスのパラメーター

リクエストモジュールを使用してリクエストを送信する前に、前に学習した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とke​​y2 = 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に、または追加のヘッダのパラメータ取得などを方法。

おすすめ

転載: blog.csdn.net/m0_48405781/article/details/115176285