使いやすいプログラミング言語として認知されてきたPythonには、汎用性の高いプログラムをパーツ化した「ライブラリ」が多数用意されています。その一つが「Requests」です。
ここでは、Requestsについて説明した後、インストール方法やインストールできない場合の対処方法、基本的な使い方を紹介します。
PythonのライブラリRequestsとは?
「Requests」とは、Pythonで使用できるライブラリの一つです。ライブラリとは便利な道具が詰まったパッケージのようなものです。
ものづくりの現場でも、一から部品を作るよりもあらかじめ作られたパーツを組み立てる方がはるかに効率的に製品を作れます。同様に、ライブラリがあるとプログラミングを効率よく行うのに役立つのです。
Pythonには、標準で搭載されているライブラリもありますが、このRequestsは別途インストールが必要です。
Pythonの主なライブラリについてはこちらの記事で解説しています。
Requestsにできること
Requestsを利用することで、例えば、Webサイトに問い合わせをする際に必要なHTTP通信やデータ収集を簡単に行なえるようになります。その他にも、Requestsを使って収集できる情報は多岐にわたります。
WebサイトはHTML言語で書かれていますが、Requestsを使用すると単なる文章だけでなくタグデータも収集できるようになるのです。また、必要なデータだけをピックアップして抽出することも可能です。
Requestsを利用するメリット
Requestsを利用すると、「Webスクレイピング」を簡単に行なえる点がメリットと言えます。Webスクレイピングとは、サイトから情報を収集した後にその情報を加工し、新たな付加価値を持つ情報を作り出すことを指します。
RequestsでWebスクレイピングを実施すると、条件やキーワードを使ってHTMLデータを解析し、必要な情報のみを取り出すことができるでしょう。
主な使用例と可能性として、ネットオークションの価格変動を察知して適正価格を設定したり、Webサイトの検索順位を定期的にチェックして効果性を判断できるといったことが挙げられます。
Requestsは開発者のニーズを反映したライブラリです。エラーが出た場合、Requests側でエラー処理を自動的に行なうことができます。
ライブラリはもともと開発をスピーディーに進めるのに役立つツールですが、Requestsを使うと、開発者はプログラミングに集中しやすくなるのがメリットです。
PythonでRequestsをインストールする方法
Requestsのインストール用ファイルは、Pythonの標準以外のライブラリを掲載しているPyPI(Python Package Index)のサイトで見つけることができるでしょう。ここでは、Requestsのダウンロードおよびインストール方法を紹介していきます。
ちなみにPythonのインストール方法についてはこちらの記事で解説しています。
Requestsのインストールは簡単
Requestsパッケージをダウンロードし、パソコンにインストールするには「pip」と呼ばれるコマンドを使用すると良いでしょう。
まず、「コマンドプロンプト」や「ターミナル」を起動して「pip install requests」とコマンドを入力した後、エンターキーを押して実行するだけでダウンロードが始まります。
特にエラーなどが出なければ、Requestsのインストールは、このダウンロード終了後に自動的に開始されるでしょう。
PythonでRequestsをインストールできないときの対処法
Requestsは、まれにインストールができない事象が報告されています。ここでは、インストールできない理由と原因別の対処方法を記載します。
エラー内容によっては、会社の場合には情報システム部などと連携する必要もあることも覚えておきましょう。
Requestをインストールできない主な原因は以下の通りです。
- 制約のあるインターネット環境でインストールを試みている
- 古いバージョンのpipを使用している
- ユーザー権限でインストールしようとしている
制約のあるインターネット環境でインストールを試みている
会社などでPythonを使用していてRequestsのインストール作業ができない・失敗するような場合は、社内の「プロキシサーバー」が関係している可能性があるかもしれません。
Requestsは外部サイトである「PyPI」からダウンロード・インストールが必要なため、PyPIとの通信は必須です。
しかし、プロキシ下であっても通信を確保する方法は2つあります。まず一つは、社内で利用しているプロキシサーバーを通過できるよう「set」コマンドを使ってURLとポート番号を指定する方法です。
また、「認証プロキシ」の場合はユーザー名とパスワードを設定することが有効です。
プロキシはネットワークの負荷を軽減し、表示速度を上げるのに役立ちます。さらに、外部に接続する際に匿名性を確保できるため、社内のセキュリティを守る働きもある必要なものなのです。
そのため、社内で設定されているプロキシを簡単に変えるのは難しいかもしれません。
その際は、プロキシのない状態でRequestsファイルをあらかじめダウンロードしておき、それをUSBメモリなどの記憶媒体にコピーして、インストールを行いたいパソコンに移すと良いでしょう。
なお、Requestsファイルのダウンロードには、「pip download」コマンドを使用する必要があります。そのあと、Requestsファイルを置いたディレクトリを指定して、インストールを実行すると問題解決できるはずです。
古いバージョンのpipを使用している
古いバージョンのpipを使用している場合は、pipのアップグレードで問題を解消できるかもしれません。なお、pipを新しいバージョンにアップグレードするには「pip install -U pip」あるいは「pip install –upgrade pip」のコマンドを使用しましょう。
また、アップグレードの際にエラーが出る場合は「–force-reinstall」のオプションもつけて実行すると良いでしょう。
ユーザー権限でインストールしようとしている
「pip install」を実行した際に、アクセスが拒否されたという内容のエラー表示が出る場合は、書き込み権限がないケースがほとんどです。このタイプのエラーの解消方法は主に2つあります。
管理者権限でコマンドプロンプトを実行する
一つは、「管理者権限」でコマンドプロンプトを実行することです。例えば、Windowsのパソコンで、管理者権限の状態でコマンドプロンプトを起動させるには、「Windowsキー+Xキー」でメニューを表示させ、「Aキー」をたたきます。
そして「Windowsキー」を押してスタートメニューを表示させ、「cmd」と入力します。
表示される「コマンドプロンプト」の項目を右クリックして、メニューの中から「管理者として実行」の項目を選択すると、管理者権限としてコマンドプロンプトを実行できるようになります。
–userオプションをつける
管理者権限として無闇にインストールを実行する方法は、セキュリティ上あまり好ましくないとされます。できれば、「pip install」実行の際に「–user」のオプションをつける方法で行うと良いでしょう。
このように、「–user」とオプションを付与して「pip install」を実行すると、管理者権限が無い状態でも書き込みが可能になるでしょう。
PythonライブラリRequestsの使い方は?
Pythonの追加ライブラリであるRequestsをインストールしたところで、正常稼働しているか確認する方法を紹介します。併せて、基本的な使い方とそれぞれのコマンドの用途や有用性を記載します。
PythonライブラリRequestsの動作確認の方法
Requestsが正常にインストールされているかどうかは、「pip list」コマンドで確認できます。このコマンドを実行すると、インストールされているライブラリなどのパッケージの種類とそのバージョンが表示されます。
意図したバージョンが表示される場合は、きちんと動作しているか確認しておくようおすすめします。以下で紹介している基本的なコマンドを使うと、簡単に動作確認できるでしょう。
GETリクエストを送信する
「GETリクエスト」は、指定したURLの内容を取り出すのに使用するコマンドです。「requests.get()」関数の中に、リクエストしたいURLを記載すると情報を収集できます。
なお、GETリクエストでは検索キーワードを指定し、ほしい情報だけを得ることも可能です。その場合は、「requests.get()」関数の中に、URLとともにパラメータを指定すると良いでしょう。
POSTリクエストを送信する
「POSTリクエスト」は、クライアントが入力した内容をWebサーバーに送信する際に使用するコマンドを指します。「requests.post()」関数に、リクエストしたいURLとデータの型を指定する方法でPOSTリクエストを行えます。
このコマンドは、例えば、登録画面やお問い合わせフォームなどにクライアントが入力した情報をWebサーバーに送信し、データを蓄積する際などに使用します。
ファイルのアップロード
Requestsのライブラリを使用するとファイルのアップロードが簡単に行なえます。大量のファイルを分割せずにアップロードでき、作業の効率化が図れるでしょう。また、セキュリティも確保できます。頻繁に大量のファイルを扱う方はぜひとも覚えておきたいコマンドです。
「requests.get()」関数でアップロードしたいファイルを指定する場合は、辞書型で「files引数」を指定し、「open()」関数を使用しアップロードしたいファイルを開いてから、「rbモード」で読み込むよう記載します。
セッションの使用
Requestsを利用すると、セッションを使用して「HTTPリクエスト」を送信できます。セッションはWebサイトにログインした際にセッションIDが生成され、クッキーなどの形でユーザー側のブラウザに送信されます。
セッションの使用はユーザーに加えて運営側にもメリットがあります。セッションの使用が可能であれば、ユーザーがWebサイト内を移動する際、クッキーに含まれるセッションIDを使いながら通信できます。
リクエストの度にセッションを確立する必要はなくなるため、画面表示や移動のパフォーマンスが向上し、閲覧する際のストレスは最小限に抑えられるでしょう。
また、サイト運営側は一連のユーザーの行動を把握・解析でき、より効果的なWebサイト作成に役立つでしょう。なお、セッションの作成には「requests.Session()」関数を使い、ログインは「session.post()」関数を使用します。
ライブラリの使い方を含めたPythonの使用方法を知りたい方には、AI研究所のPython基礎セミナー講習がおすすめです。2日間で実務で使えるスキルをマスターできます。
PythonライブラリRequestsのインストール方法とできないときの対処法まとめ
「Requests」はHTTP通信を容易に行なえるライブラリで、Pythonを使う開発においてスピードアップに寄与します。インストールは「pip install」コマンドを使うだけで完結するでしょう。
万が一、インストールできない場合は原因を確かめた上で、それに見合った対処方法を講じることが大切です。
この記事を参考に、Requestsの使い方をマスターして開発やデータ収集などに役立てましょう。