プログラム開発の情報や、雑記を投稿しているサイトです。

Python | WEBスクレイピングのサンプル

最近なにかと話題になっているWEBスクレイピングですが、
実現方法も色々な手法があります。

また、実現するための言語やライブラリもたくさんあり、
どの言語を選択したら良いのかと迷われている方も多いと思います。

本記事では、Pythonで、WEBスクレイピングのサンプルを解説していきます。

WEBスクレイピングのライブラリ

Pythonのスクレイピングによく使われるライブラリとしては、Requests、Beautiful Soup、Seleniumが有名です。
これらのライブラリを組み合わせて、WEBスクレイピングし、データクレンジング後に、データ保存という流れになります。

RequestsはHTMLデータの取得に利用します。
PythonではRequestsを利用して、簡単にWEBサイトからデータを自動的に取得することができます。

取得したデータを、Beautiful Soupなどのライブラリを利用して、パースしてデータを解析していきます。

Seleniumは、JavaScriptが使われているサイトからのデータの取得や、サイトへのログインなどに使います。
Seleniumは、データ取得だけでなく、データの抽出も行うことができますが、ブラウザを操作してデータを取得しますので、動作が遅くなります。

そのため、できるだけRequestsやBeautiful Soupを使い、Seleniumは必要最低限の箇所で使うことをお勧めします。

本記事では、Requests、Beautiful Soupの利用方法を中心に解説していきます。

BeautifulSoup4のインストール

Beautiful Soupは、標準ではインストールされていません。
pipやcondaを利用して別途インストールする必要があります。最新のバージョンはBeautiful Soup4になります。

pipを利用してインストールする場合は、以下のコマンドを入力します。

requestsのインストール

requestsをpipでインストールする場合は、以下のコマンドを入力します。

以上で、必要なライブラリのインストールは終わりました。
実際のプログラムでは、これらのライブラリをインポートしておく必要があります。

以上で、Beautiful Soupを使うための準備は完了となります。

Requestsを使ったデータの取得方法

まずはrequestsを利用して、WEBサイトの情報を取得します。

res.textで内容を確認することができます。

BeautifulSoupを使ったデータ解析の方法

BeautifulSoup()を用いて、ダ取得した情報の解析が必要になります。

まとめ

WEBスクレイピングの簡単なサンプルの解説となりましたが、
この基本的な流れを応用していくことで、効率よくWEBスクレイピングすることが可能となります。

WEBスクレイピングを実際に行う場合には、
クロール対象のサイトに迷惑がかからないように、事前に許可を得るなどし、細心の注意を払う必要があります。

これらの注意点を意識し、WEBスクレイピングを活用していただければと思います。