Twitter Stream APIを使ってPublicなツイートを収集する


Summary

TwitterのStreamAPIを使ってパブリックなツイートをマイニングするはなし。

  • PHP
  • TwitterAPI
  • Phirehose

あたりをつかってます。

背景

嫌な話ばかりで鬱々してくる今日この頃ですね。

舛添とか不倫とか東京オリピックとか。

 

でも良い話がないわけじゃないはず…!

きっと良い話より悪い話の方がバズりやすいだけなんだ…!

それならみんなのつぶやきから良い話だけを抽出してみよう!

 

方法

アーキテクチャ

  • Phirehose (Twitter Streem APIをラップしてくれている便利なライブラリ)
  • idiom (PHP用ORマッパー)
  • PHP
  • Apache HTTP Server
  • MySQL
  • Linux

どうやらPhirehoseという便利ライブラリがあるらしいのでそれを使います。

ソース

百聞は一見にしかずということでソースをどうぞ

 

‘楽し’, ‘幸せ’, ‘ラッキー’, ‘嬉’

をキーワードにStreemAPIを叩き、

引っ張ってきたツイートをパースしてDBにデータを入れ続けるだけです。

 

lib配下の諸々のライブラリを読み込んでいますが、

  • phirehose配下のやつ

https://github.com/fennb/phirehose

ここからダウンロードして配置するだけでOK。非常に簡単。

上記ソースはそのなんかのOauthPhirehoseクラスを継承したカスタムクラス作成して実行している。

全件取得はどうやら特別な審査が必要なようなので、ワードでフィルターをかけてます。

引っ掛けているワードがお子ちゃまなのはご愛嬌。

 

  • idiorm/dbconnect.php

https://github.com/j4mie/idiorm

idiormというORマッパーをここからダウンロードして配置する。

dbconnect.php自体はidiorm.phpを読み込みつつ、DB接続情報を記述している。

たとえばこんな感じ。

 

あとはサーバにソースを配置して、実行するだけ。

 

結果と考察

1日ほどクロールした結果、約1000件ほど「良い話」と思われるものを集取しました。

ただし、

スパムっぽい美容関係の広告や、

「嬉しい」と書いてあるだけのツイートも引っ張れてしまうので、

文字数でフィルタリングしたり、形態素解析したりして、

他人が読んでもわかるようなものだけを収集できるようにしたい。

 

 

About Hiroyuki Yahagi 5 Articles
大学時代に友人が「プログラミングやっとけば潰しきくんじゃね」と言ってたのを聞いて軽い気持ちでITをはじめました。 「自給自足のエンジニア」を目指して日々勉強中。

Be the first to comment

Leave a Reply

Your email address will not be published.


*