Pythonでhttplib2を使用しHTTPリクエストを送信しコンテンツを取得してみます。
今回はhttplib2を用います。このライブラリはPythonの標準ライブラリではありませんので、事前にインストールする必要があります。
■今回の環境(Python)
今回のPythonは、バージョン3.9.16を用いる。(なお、Google Colaboratory(Google Colab)を使用。)
■httplib2を使用しHTTPリクエストを送信しコンテンツを取得する
では、早速httplib2を使用しHTTPリクエストを送信しコンテンツを取得するスクリプトを書いていきます。
■コード
import httplib2 def get_http_content(url): h = httplib2.Http(".cache") resp, content = h.request(url, "GET") return content # 使用例 url = "http://example.org/" content = get_http_content(url) print(content.decode("utf-8")) # コンテンツをUTF-8でデコードして表示
まずはhttplib2モジュールをインポートします。次にget_http_contentという関数を定義します。この関数はURLを引数として受け取り、HTTPリクエストを送信してコンテンツを取得します。.cacheディレクトリを指定して、httplib2.Httpクラスのインスタンスを作成します。このインスタンスはHTTPクライアントを表します。.cacheディレクトリは、一時的なキャッシュファイルを保存するために使用されます。
その後、h.request()メソッドを使用して、指定したURLに対してGETリクエストを送信します。リクエストの結果はrespとcontentのタプルとして返されます。関数の戻り値として、取得したコンテンツを返します。
次にurl変数に”http://example.org/”を設定します(今回は検証のため、https://laboratory.kazuuu.net/を設定します。設定後、content変数を定義しget_http_content関数を呼び出してコンテンツを取得します。
取得後、content.decode(“utf-8”)を使用して、取得したバイナリデータをUTF-8でデコードしprint()で出力します。
■実行・検証
このコードセルを保存し、Google Colaboratory上で、セルを実行してみます。
実行してみると、検証のためにhttps://laboratory.kazuuu.net/を設定しましたが指定したURL内のコンテンツを取得しデータを出力させることができました。
コメント