【Python】WEBスクレイピングをしてみよう

pythonロゴ

PythonでWEBスクレイピングを実装してみたのでやってみたことを書いてみます。

 

WEBスクレイピングとは

WEBサイトからWEBページのHTMLデータを収集して、特定のデータを抽出、整形し直すことである。

なぜ今回WEBスクレイピングが必要になったか
・職場での日々の印刷枚数のデータ化したい。
・印刷枚数のデータは複合機のWEB管理画面で確認できる。
・画面表示では確認できるがデータを取得することができない(API×、CSVエクスポート×)
・印刷枚数はカラー、モノクロ、印刷、コピーそれぞれの総合計しかデータがない。

これらの理由として複合機のWEB管理画面から定期的にデータをWEBスクレイピングで取得してみよう。
といった目的でWEBスクレイピングの技術を習得することとなった。

 

PythonでWEBスクレイピング

WEBスクレイピングはいろんな言語で可能。
PHP,Javascript,C#などいろいろ。
だが今回はPythonでやってみた。
なぜか、
・過去にPython Boot Campに参加してWEBスクレイピングを体験したことがある。

なので、
pythonのBoot Campのテキストを頼りとして早速やってみた。
http://bootcamp-text.readthedocs.io/

 

環境構築

今回は省略
Pythonのバージョンは3.6.3です。

 

ライブラリーインストール

今回必要なライブラリーをインストール。
pipコマンドを使います。

 

WEBスクレイピングの実施

今回はテストとしていつも情報収集でお世話になっているGigazinからタイトルタグの文字列を取得してみます。

これを実行してみた結果。

最初のprintは<title></title>の要素を出力している。
次のprintで<title>タグに設定されている文字列を出力している。
※Gigazinのタイトルはその日の最新記事によって変わります。

後は色々コードを変えることで取得するタグを変えたり画像データを取得することができるようになる。

最後に

WEBスクレイピングのような軽いプログラムでも過度なアクセスはサーバーに負担をかける恐れがあります。
常識の範囲内での使用をオススメします。