WindowsのRでツイートを検索する

Table of Content

背景

twitteRを用いればR言語でツイートを検索できますが、以下のページに記述した通り、現行リリースされているバージョンではくっそ面倒です。

http://needtec.exblog.jp/20588155/

また、現在、パッケージとしてリリースされている1.1.7バージョンではいくつかのバグがあります。
https://github.com/geoffjentry/twitteR/blob/master/NEWS

・UTF8が文字化けする
・ユーザIDが64ビット対応していない

ここではGitHub中の最新コードを使用して日本語の文字を検索してみます。
https://github.com/geoffjentry/twitteR/

注意
2015-02-11に1.1.8がリリースされたので、Githubからでなくても大丈夫になっているはずです。
http://cran.r-project.org/web/packages/twitteR/index.html

環境

Windows7
R3.1.2 RGuiで行う
ライブラリは下記のフォルダに格納するものとする。
C:\R31_Package

手順

1.依存するパッケージと、Githubからインストールするツールをインストールします。

install.packages(c("devtools", "rjson", "bit64", "httr"),"C:\\R31_Package")

2.GithubからTwitteRをインストールします

.libPaths("C:\\R31_Package") #ライブラリのパスを指定
library(devtools) #警告でますが無視してインストールできました。
install_github("twitteR", username="geoffjentry")

3.ツイートを検索します

library(twitteR)
setup_twitter_oauth("Consumer Key","Consumer Secret ","Access Token","Access Token Secret") # ローカルファイルにキャッシュするか聞かれます。どっちえらんでも動きます。
searchTwitter(iconv("おっぱい","CP932","UTF-8")) #日本語の場合はUTF8に変換する

oppai.png

コードを見る限り、since、untilもサポートしているので、昔にさかのぼって取得することもできるかと思います(未検証)

https://github.com/geoffjentry/twitteR/blob/29f574b0ab6f8760b1471d12a4e70245731c4848/R/search.R

絵文字が入っている場合の対応

Twitterの公式クライアントでは機種依存の絵文字が入っている場合、サーバー側で画像に変換して表示して返しています。
対して、TwitterAPIでは、絵文字が入っている場合、その文字コードをそのまま返します。おそらく、これはUnicodeの外字領域を使っており、環境によっては文字として表示できません。

さいわい、iconvではsub引数を用いて、この変換できない文字を置き換えることができます。
以下がUTF8に変換できない文字を削除する例になります。

# 絵文字が入るように検索
ret=searchTwitter("needtec.sakura.ne.jp");
for(r in ret) {
  print(iconv(r$text, "UTF-8", "UTF-8", ""))
}

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です