Linuxとかプログラミングとか。

プログラミングとか趣味とかいろいろ発信していく大学生のホームページ。

PHPでTwitterの地震速報botを作る

calendar

reload

PHPでWebページから情報をスクレイピングし、cronで動作するTwitterの地震速報botを作りましたのでここに手順を載せておきます。

1.環境

1.1.作業の前提となる環境

  1. PHP5.6がcronで動作するレンタルサーバーを所有していること(自分はさくらレンタルサーバースタンダードプランを契約しています)
  2. twitteroauthライブラリが入手済みであること
  3. TwitterAPIキーを取得しており、twitteroauthライブラリに入力済みであること

1.2.スクレイピングに必要なライブラリをダウンロードする

ここを開き、phpQueryのzipファイルをダウンロードし、解凍、phpQueryのライブラリを準備します。(とりあえず僕は最新版のphpQuery-0.9.5.386-onefile.zipをダウンロードしました)

2.処理の定義

2.1.フォルダ構成

フォルダ構成は

www/twitteroauth/
www/EarthquakeBot/
www/EarthquakeBot/EarthquakeBot.php
www/EarthquakeBot/earthquake.log
www/EarthquakeBot/phpQuery-onefile.php

とします。

2.2.EarthquakeBot.php

2.2.1.requireなど(ライブラリ読み込み)

2.2.2.htmlの取得とデータの格納

地震情報はYahooの地震情報ページの表から取得することにします。

2.2.3.ツイートの実行

cronでの定期実行毎に発生時刻を取得しログに出力しておきます。ツイート直前に今回の地震発生時刻と前回の実行時の地震発生時刻を比較し、異なった条件でのみツイートするようなアルゴリズムになっています。

2.2.4.ソースコード

EarthquakeBot.php

あとはcronで1,2分おきにスケジュール実行ということにしておけばいいでしょう。

スクレイピングを取り入れることで、Twitterのbotもより拡張性が増すのではないでしょうか。

では今回はこの辺で失礼しますね。

この記事をシェアする

コメント

コメントはありません。

down コメントを残す




folder Android

SO-03C Xperia ray をICS化する
more...