[解決済み] Twitterのつぶやきをtxtファイルに転送する
質問
from tweepy import Stream
from tweepy import OAuthHandler
from tweepy.streaming import StreamListener
import json
from pprint import pprint
data_file = open('twitter.json')
data = json.load(data_file)
##Json file with all the ckey, csecret, atoken, and asecret
pprint(data)
#consumer key, consumer secret, access token, access secret.
ckey = data["ckey"]
csecret = data["csecret"]
atoken = data["atoken"]
asecret = data["asecret"]
class listener(StreamListener):
def on_data(self, data):
all_data = json.loads(data)
tweet = all_data["text"]
username = all_data["user"]["screen_name"]
print((username,tweet))
return True
def on_error(self, status):
print (status)
auth = OAuthHandler(ckey, csecret)
auth.set_access_token(atoken, asecret)
上のコードは、twitterのapiにアクセスするための標準的なものばかりです。しかし、私はtwitterから取得したツイートを.txtファイルに転送する必要があります。以下のようなコードで試してみました。 twitterStream = Stream(auth, listener())
fid = open("cats based tweets.txt","w")
for tweet in twitterStream.filter(track=[cats]):
fid.write(tweet)
fid.close()
ネコというキーワードを含むツイッターのツイートやリポストをすべて見つけるつもりです。しかし、すべてのツイートを含むtxtファイルを書くことになっているのですが、そうではありません。どなたか、この問題を解決するために必要なことを教えていただけませんか?
EDIT : あなた方が書かれたコードを使いましたが、すべてのツイートを返しません。5つか6つのツイートが表示された後、エラーが表示されます。
RuntimeError: No active exception to reraise
が表示され、その理由がわからない。なぜこのようなことが起こるのでしょうか?なぜなら、起こるはずがないとわかっているからです。
解決方法を教えてください。
私はあるプロジェクトでこれを行いましたが、私の方法では
on_data
メソッドの中で
StreamListener
オブジェクトを作成します。
私のコードは以下のようなものです。
class Listener(StreamListener):
def __init__(self, api=None, path=None):
#I don't remember exactly why I defined this.
self.api = api
#We'll need this later.
self.path = path
def on_data(self, data):
all_data = json.loads(data)
tweet = all_data["text"]
username = all_data["user"]["screen_name"]
print((username,tweet))
#Open, write and close your file.
savefile = open(file_path, 'ab')
savefile.write(tweet)
savefile.close()
return True
実際のコードで、再定義したところではなく、いくつか
Listener
または
on_data
. 順番に
-
保存するファイルを定義します。その変数を
file_path
. を追加することを忘れないでください。 .txt の拡張子がここにあります。 -
StreamとListenerを呼び出す。
twitterStream = Stream(authorization, Listener(path=file_path))
-
フィルターを使いましょう。私のは座標で、私のコードが止まらないように、以外とtryでフィルターを入れています。ここでは、それをあなたのために適応させたものです。
try: twitterStream.filter(track=[cats]) except Exception, e: print 'Failed filter() with this error:', str(e)
これで、ツイートのテキストがストリームに表示されるたびに、ファイルに書き込まれるはずです。ファイルサイズを見てみると、増えているのがわかるはずです。特に、猫に関するフィルターであれば、なおさらです。インターネットは猫が大好きです。
関連
-
ピロウズ画像色処理の具体的な活用方法
-
Python関数の高度な応用を解説
-
pythonサイクルタスクスケジューリングツール スケジュール詳解
-
Python Pillow Image.save jpg画像圧縮問題
-
[解決済み】socket.error: [Errno 48] アドレスはすでに使用中です。
-
[解決済み] 'int'オブジェクトに'__getitem__'属性がない。
-
[解決済み】「OverflowError: Python int too large to convert to C long" on windows but not mac
-
[解決済み] ファイルのコピー方法について教えてください。
-
[解決済み] Pythonでファイルやフォルダを削除する方法は?
-
[解決済み] ファイルへの追記はどのように行うのですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
PythonによるLeNetネットワークモデルの学習と予測
-
ピロウズ画像色処理の具体的な活用方法
-
Python 可視化 big_screen ライブラリ サンプル 詳細
-
任意波形を生成してtxtで保存するためのPython実装
-
PythonによるExcelファイルの一括操作の説明
-
[解決済み】「RuntimeError: dictionary changed size during iteration」エラーを回避する方法とは?
-
[解決済み】 NameError: グローバル名 'xrange' は Python 3 で定義されていません。
-
[解決済み] 'int'オブジェクトに'__getitem__'属性がない。
-
[解決済み】 AttributeError("'str' object has no attribute 'read'")
-
[解決済み】Python: OverflowError: 数学の範囲エラー