Pythonでリアルタイムで取ってきたツイート数をカウントアップしたいのですが、ツイート数ではなくツイート毎の改行数が出力されてしまい困っています。
この場合どうすればいいのでしょうか?
追記: statusメソッドに関しては、ツイートが持つ属性のことだと解釈しています。(間違っていたらすみません)
こちらを参考にしていただけますと幸いです。
https://kurozumi.github.io/tweepy/streaming_how_to.html#step-1-creating-a-streamlistener
https://syncer.jp/Web/API/Twitter/REST_API/Object/Tweet/
該当のソースコード
python
1import os 2import tweepy 3import redis 4import math 5from collections import Counter 6 7#r = redis.Redis(host='localhost', port=6379, db=0) 8 9TWITTER_CLIENT_ID = os.environ['TWITTER_CLIENT_ID'] 10TWITTER_CLIENT_SECRET = os.environ['TWITTER_CLIENT_SECRET'] 11 12TWITTER_OAUTH_TOKEN = os.environ['TWITTER_OAUTH_TOKEN'] 13TWITTER_OAUTH_TOKEN_SECRET = os.environ['TWITTER_OAUTH_TOKEN_SECRET'] 14 15auth = tweepy.OAuthHandler(TWITTER_CLIENT_ID,TWITTER_CLIENT_SECRET) 16auth.set_access_token(TWITTER_OAUTH_TOKEN,TWITTER_OAUTH_TOKEN_SECRET) 17 18class StreamListener(tweepy.StreamListener): 19 def on_status(self, status): 20 text = str(status.text) 21 tweet_number = status.id_str 22 i = 0 23 #日本語ツイートをファイルに書き込んでいる 24 if status.lang == "ja": 25 with open("test20.txt", "a", encoding="utf-8") as f: 26 f.write(text) 27 28 #問題の箇所(ツイート数が知りたくて数え上げをしたいが、上手くいっていない) 29 for i in range(tweet_number.split("\n")): 30 i = i + 1 31 print("これは %d ツイート目です" % i) 32 33 def on_error(self, status_code): 34 return False 35 36stream = tweepy.Stream(auth=auth, listener=StreamListener()) 37stream.sample()
補足情報(FW/ツールのバージョンなど)
iOS 10.12.6, Python 3.7.3, Atom
回答1件
あなたの回答
tips
プレビュー