Pandasを使って時刻表をスクレイピングしてみる
やること
つくばエクスプレス(TX)の快速のみ、次の発車時刻までカウントダウンするAppleWatchアプリが作りたいなと思っている。
必要なこと
AppleWatchを買う*1
TXの時刻表をスクレイピングしてくる。
AppleWatchアプリを作る。
やったこと
AppleWatchは届いていないのでデータの準備をしておく。
データがなければ始まらない。とりあえずは、TXの時刻表をスクレイピングしてみた。
スクレイピングをするには、BeautifulSoupやScrapyなど、色々なツールを使うと良いようだ。以下のページに詳しくまとまっているので参考にすると良さそう。
今回は、pythonのライブラリ、Pandasを使う。
なぜPandasかというと、もともとデータ操作が色々できるライブラリなのだけど、URLを指定したらwebサイトから直接データ入力も可能らしいということを知ったので使ってみたいと思う。すごいな、Pandas。知らなかったよ。
Pandasについてはここら辺を参照
10分でPandasを学ぶは大変良い。最高にわかりやすい。
Python Data Analysis Library — pandas: Python Data Analysis Library
コード例
今回は以下のページを対象にスクレイピングしてcsvファイルに固めてみる。
列車別時刻表(平日上り) | 列車別時刻表 | 時刻表・運賃 | つくばエクスプレス
これで同じディレクトリ内にoutput.csvが生成されていると思う。結構簡単にできました。データを見てみると、多少ずれているけれども、使えるデータがサクッと取得できたかなと思う。
けつろん
webページにtable要素がある場合、PandasでURLを指定すればスクレイピングは容易にできるってことがわかりました。
みんなもサクッとスクレイピングでよしなにデータをつくりましょう。
*1:一番難しい