如何解决试图在tkinter.label上显示TweepyStreamListener tk崩溃而没有错误
我试图在tk.label中显示Tweepy流(转换后的比特很少)。 我真的很不擅长Python,但也许有些人可以帮助我。
我想做的事情是分析具有给定关键字的人员的tweet,但是将这个变化的数字转换为tklabel。
对于分析,我使用了Textblob。通过textblob,我分析了给定Tweet的情绪。
我要解决的问题是我找不到启动流(让其运行)和启动tk ui的方法。
流启动时,Tk应用程序崩溃。
到目前为止,这是我的代码:
root = tk.Tk()
HEIGHT = 700
WIDTH = 800
class MyStreamListener(tweepy.StreamListener):
auth = tweepy.OAuthHandler("+++","+++")
auth.set_access_token("+++","+++")
api = tweepy.API(auth)
sentiment= 0
i = 0
text = tk.StringVar()
text.set("Test")
def ui(self):
self.canvas = tk.Canvas(root,height=HEIGHT,width=WIDTH)
self.frame = tk.Frame(root,bg='#80c1ff',bd=5)
self.lower_frame = tk.Frame(root,bd=10)
self.button = tk.Button(self.frame,text="Start",font=40,command=self.start_Stream)
self.label = tk.Label(self.lower_frame,textvariable=self.text)
self.entry = tk.Entry(self.frame,font=40)
self.frame.place(relx=0.5,rely=0.1,relwidth=0.75,relheight=0.1,anchor='n')
self.lower_frame.place(relx=0.5,rely=0.25,relheight=0.6,anchor='n')
self.entry.place(relwidth=0.65,relheight=1)
self.button.place(relx=0.7,relwidth=0.3,relheight=1)
self.label.place(relwidth=1,relheight=1)
self.canvas.pack()
root.mainloop()
def changeText(self,newText):
self.text.set(newText)
#def clean_tweet(self,tweet):
# return ''.join(re.sub("(@[A-Za-z0]+)|([^0-9A-Za- \t])|(\w+:\/\/\S+)"," ",tweet).split())
def analyseSentiment(self,text):
blob = TextBlob(text)
sentimentA = []
for scentence in blob.sentences:
sentimentA.append(scentence.sentiment.polarity)
sentimentAll = np.mean(sentimentA)
return sentimentAll
def on_status(self,status):
MyStreamListener.sentiment = MyStreamListener.sentiment + MyStreamListener.analyseSentiment(self,status.text)
MyStreamListener.changeText(self,MyStreamListener.sentiment)
def on_error(self,status_code):
if status_code == 420:
return False
def start_Stream(self):
myStreamListener = MyStreamListener()
myStream = tweepy.Stream(auth=MyStreamListener.auth,listener=myStreamListener)
myStream.filter(track=['Corona'])
app = MyStreamListener()
app.ui()
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。