pythonでtwitterからtimelineを得る為に以下のコードを実効しようとしましたが、
うまくいきませんでした。
Listenerが定義されていないので、StreamListenerを継承するクラスを作成がうまくいかなかったのではないかと思い調べてみたのですが、StreamListenerについていまいちよくわかっていません。構文が間違っているのでしょうか。もしくは、構文を書く前にしておくべきことがあるのでしょうか。
エラーの原因とStreamListenerについて教えていただけないでしょうか。
参考にしたサイト→リンク内容
参考にしたコード↓
import
1from datetime import timedelta 2 3CK = 'xxxx' 4CS = 'xxxx' 5AT = 'xxxx' 6AS = 'xxxx' 7class Listener(tweepy.StreamListener): 8 def on_status(self, status): 9 status.created_at += timedelta(hours=9) 10 print('------------------------------') 11 print(status.text) 12 print("{name}({screen}) {created} via {src}\n".format(name=status.author.name, screen=status.author.screen_name,created=status.created_at, src=status.source)) 13 return True 14 def on_error(self, status_code): 15 print('エラー発生: ' + str(status_code)) 16 return True 17 def on_timeout(self): 18 print('Timeout...') 19 return True 20auth = tweepy.OAuthHandler(CK, CS) 21auth.set_access_token(AT, AS) 22listener = Listener() 23stream = tweepy.Stream(auth, listener) 24stream.filter(track = ["プログラミング"])
実行しようとした際のコードとエラー↓
import tweepy >>> from datetime import timedelta >>> CK = '' >>> CS = '' >>> AT = '' >>> AS = '' >>> class Listener(tweepy.StreamListener): ... def on_status(self, status): ... status.created_at += timedelta(hours=9) ... print('------------------------------') ... print(status.text) ... print("{name}({screen}) {created} via {src}\n".format(name=status.author.name, screen=status.author.screen_name,created=status.created_at, src=status.source)) ... return True ... def on_error(self, status_code): ... print('エラー発生: ' + str(status_code)) ... return True ... def on_timeout(self): ... print('Timeout...') ... return True ... auth = tweepy.OAuthHandler(CK, CS) File "<stdin>", line 14 auth = tweepy.OAuthHandler(CK, CS) ^ SyntaxError: invalid syntax >>> auth = tweepy.OAuthHandler(CK, CS) >>> auth.set_access_token(AT, AS) >>> listener = Listener() Traceback (most recent call last): File "<stdin>", line 1, in <module> NameError: name 'Listener' is not defined
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/07/29 07:43