首页 > 解决方案 > 推特 API 的 Python GUI

问题描述

import tweepy
import csv
import json
import datetime
import pandas as pd
from Tkinter import *



def twitter(e1):
 consumer_key = 'BPJYMwo4Z6ueJ'
 consumer_secret = 'zB0SfmOtWWAm4T1N6akLD0ut0TKB2Hc6Yxmry'
 access_token = '380414482-Z1ZZgJz4V8Y5epzDgrehB'
 access_token_secret = 'x1QINIBHeW9DJc7vG1SqI9p3d13H'
 auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
 auth.set_access_token(access_token, access_token_secret)
 api = tweepy.API(auth, wait_on_rate_limit=True)
 #####United Airlines
 # Open/Create a file to append data
 csvFile = open('Twitter' + (datetime.datetime.today().strftime('%d%m%Y%H%M')) + '.json', 'a')
 # Use csv Writer
 # csvWriter = csv.writer(csvFile)
 print("fetching started........")
 for tweet in tweepy.Cursor(api.search, q=e1, count=1, lang="en", since="2018-07-26").items():
    csvFile.write(json.dumps(tweet._json))
    csvFile.write("\n")
    print("fetching end........")
    csvFile.close()

if __name__ == '__main__':
        master = Tk()
        Label(master, text="Hashtag").grid(row=0)
        e1 = Entry(master)
        e1.grid(row=0, column=1)
        Button(master, text='Quit', command=lambda: twitter(e1)).grid(row=3, column=0, sticky=W, pady=4)
        master.mainloop()

代码运行,但是当我在 gui 中添加文本时,获取开始并卡住。我尽我所能,但没有运气。我知道问题出在 twitter(e1) 上,但我不知道如何解决它。

标签: pythonapiuser-interfacetwitter

解决方案


您需要从条目中提取文本,而不是传递整个对象:

command=lambda: twitter(e1.get().strip())

推荐阅读