Pythonプログラミングを使用したGETおよびPOSTリクエスト
Pythonを使用して、Webページにアクセスしたり、Webページにコンテンツを投稿したりできます。 httplib、urllib、httplib2などのさまざまなモジュールがありますが、requestsモジュールは最も単純であり、GETおよびPOSTメソッドを含むより単純で強力なプログラムを作成するために使用できます。
GETメソッド
GETメソッドは、WebURLからデータを取得するために使用されるPythonリクエストモジュールの一部です。以下の例では、自社のWebサイトにアクセスし、getメソッドを使用してさまざまな応答を見つけます。エンコーディング、応答時間、およびヘッダーと本文の一部を取得します。
例
import requests req = requests.get('https://www.tutorialspoint.com/') # Page encoding e = req.encoding print("Encoding: ",e) # Response code s = req.status_code print("Response code: ",s) # Response Time t = req.elapsed print("Response Time: ",t) t = req.headers['Content-Type'] print("Header: ",t) z = req.text print("\nSome text from the web page:\n",z[0:200])
出力
上記のコードを実行すると、次の結果が得られます-
Encoding: UTF-8 Response code: 200 Response Time: 0:00:00.103850 Header: text/html; charset=UTF-8 Some text from the web page:
POSTメソッド
POSTメソッドは、サーバーでデータを作成または更新するために、主にフォームを介してサーバーにデータを送信するために使用されます。リクエストモジュールは、データパラメータのURLと値を取得してデータを直接送信できるpostメソッドを提供します。
以下の例では、postメソッドを使用してhttpbin.org Webサイトにデータを投稿し、その投稿方法に関する応答を取得します。
例
import requests in_values = {'username':'Jack','password':'Hello'} res = requests.post('https://httpbin.org/post',data = in_values) print(res.text)
出力
上記のコードを実行すると、次の結果が得られます-
{ "args": {}, "data": "", "files": {}, "form": { "password": "Hello", "username": "Jack" }, "headers": { "Accept": "*/*", "Accept-Encoding": "gzip, deflate", "Content-Length": "28", "Content-Type": "application/x-www-form-urlencoded", "Host": "httpbin.org", "User-Agent": "python-requests/2.22.0", "X-Amzn-Trace-Id": "Root=1-5ef75488-969f97a68bb72642b97b6d50" }, "json": null, "origin": "122.xxx.yy.zzz", "url": "https://httpbin.org/post" }
-
PythonとScrapyを使用したWebスクレイピング?
クローラーを開発するための最良のフレームワークの1つは、scrapyです。 Scrapyは、高レベルの機能を利用してWebサイトのスクレイピングを容易にする、人気のあるWebスクレイピングおよびクロールフレームワークです。 インストール Windowsにscrapyをインストールするのは簡単です。pipまたはconda(anacondaがある場合)のいずれかを使用できます。 ScrapyはPython2と3の両方のバージョンで動作します。 pip install Scrapy または conda install –c conda-forge scrapy Scrapyが正しく
-
MacでのPython3のアップグレードと使用
あなたはあなたの真新しいMacがすべての関連するソフトウェアの最新バージョンを持っていると思うかもしれません。ほとんどのユーザーアプリにとっては正しいでしょうが、基盤となるフレームワークにとっては別の話です。最新の安定版リリースはPython3.5ですが、新しいMacにはPython2.7.10が付属しています。これがバージョン間の大きなギャップのように思われる場合、それはそうだからです。ただし、新しいバージョンが必ずしも優れているとは限りません。Python3はPython 2と下位互換性がなく、ほとんどの開発者は引き続きPython2を使用しています。 2to3か2to3ではないか?