Twitterをスクレイピングしている(現在進行形)。python-twitterをインストールしてPublic Timelineを得る次のようなコードを書いた。
# -*- coding: utf-8 -*- import twitter import re import time f = open("tweets.txt", "a") wait = 90 while True: api = twitter.Api() for s in api.GetPublicTimeline(): if re.search(u"[ぁ-ゞ]", s.text): f.write((s.text+"\n").encode("utf-8")) time.sleep(wait)
Public Timelineへのリクエストは60秒キャッシュされるらしい。
このコードは全世界から90秒ごとにに20件サンプリングしたツイートの中からひらがなを含むものを保存している。
よって全然データが溜りません。すごく遅いです。
Streaming APIを使うのがいいっぽい?よくわからない。
追記
Streaming APIのほうがサクサクツイート取得できる。下記を参考に。
kk6のメモ帳 tweepyがUser Streamsに対応していた
tweepyでOAuthを試してみた
数時間ほどPublic Timelineを流れるツイートを保存すればそれなりのデータになる。