【Pythonスクレイピング入門】Requestsモジュールを使ったHTTPリクエスト



必要なもの

  • requests

Pythonスクレイピングライブラリはいくつかあり、標準でもurllibというのが搭載されています。とりあえず手軽なこともあり、標準のurllibよりrequestsの方が色々使いやすいのでこっちをオススメします。Anacondaをインストールしている場合は最初から入っていますがそうでない場合はpipからインストール可能ですので、ご用意ください。

これで一発インストールOK

requestsの基本構文

requestsでは様々なHTTPリクエストをかけることができます。

よく使うのはgetやpostですがheadやput、deleteなども可能です。使った記憶はないですが。

今回は入門編ということでgetリクエストを送ってみます。

構文

基本の構文は以下の通り。

必須の引数はURLのみでその他のパラメータは省略可能です。

その他パラメータ例

  • proxies
  • headers

実践

HTTPリクエストを送ってみる

たった3行です。

超簡単ですね。

上記コード実行で res という変数にreqeustsのレスポンスのオブジェクトが格納されています。

上記例のコードではヤフーのトップページにアクセスしています。

res変数の中身を色々見ていきましょう。

レスポンス

下記は対話式で実行していますので、printは省略されています。

レスポンスオブジェクト単体を出力するとステータスが返ってきます。

ちなみにこれをif文に渡すとTrueになります。500台や400台のステータスの場合はFalseとなります。

.status_codeを付けるとコードの数字のみがint型で返ってきます

.headersでレスポンスヘッダを返します。

.textでhtmlの中身を丸ごとstr型で返します。

一見 .text と同じように見えますが、途中から、よくわからない文字列になってます。.contentはhtmlの中身をbytes型で返します。

まとめ

なんかスゲー簡単に、スゲー色々出来そう感が伝わればOKです。

次の記事