PythonでTwitterのStreaming APIを受信する

2017-01-05
このエントリーをはてなブックマークに追加

全Tweetの1%と言われるPublic streamsのsampleを受信してみます。

OAuthやらStreamやら、どう実装するかなーと調べてみるとRequests: 人間のためのHTTP があれば十分なことがわかったし、親切なサンプルコードも書かれてたのであっさり実装できてしまった。

OAuth 1 Authentication

Streaming Requests

import json

import requests
from requests_oauthlib import OAuth1


def main():
    _auth = OAuth1(
        API_KEY,
        API_SECRET,
        ACCESS_TOKEN,
        ACCESS_SECRET
    )

    _stream = requests.get(
        "https://stream.twitter.com/1.1/statuses/sample.json?language=ja",
        auth=_auth,
        stream=True,
    )

    for _line in _stream.iter_lines():

        _doc = json.loads(_line.decode("utf-8"))
        print(json.dumps(_doc, ensure_ascii=False, indent=2))


if __name__ == '__main__':
    main()

日本語のツイートだけ取得したかったのでlanguage=jaを追加しています。Requests便利すぎ。

PythonでTwitterでのツイートをネガポジ判定してみた結果。。。

2013-08-13
このエントリーをはてなブックマークに追加

単語感情極性対応表」なるものを発見し、これを使えばネガポジ判定が容易にできるかなーと試してみました。

MeCab等の形態素解析器を使って形態素解析すればツイート等のテキストからそのテキストを構成している単語を抽出するのは簡単なのですが、そこから先のハードルが高く、なかなか進めずにいたのですが、おもしろい結果がでそうで楽しみです。

どういう結果が出るのか、この時のハセテツは知らなかった。そう、知らなかったんだ。

More…

「六次の隔たり」をTwitterで検証してみようと思ったが

2010-11-02
このエントリーをはてなブックマークに追加

六次の隔たり」というのは、人は6人の知人を経由すると世界中の人々と間接的につながる、というアレです。

つまり、ハセテツの知り合いの知り合いの~、6人向こうにバラク・オバマ大統領がいたりするわけです。

これをTwitterで検証してみようと思ったわけでして、

  • 相互にフォローしている状態で「知り合い」と判断
  • botかどうかの判定はしない
  • ひとりあたりに50人の知り合い(相互フォロー)があると仮定

この設定で、50人の六乗、つまり15,625,000,000(!)人にリーチすることが出来てしまいます!156億人ですよー!世界の人口を越えますよー!

この段階でもうあきらめました。そんなデータ格納するマシンはない。

実際に成り立つのかどうか、検証したいなー。

Tags: