用于twitter API的Python GUI

问题描述 投票:-2回答:1
import tweepy
import csv
import json
import datetime
import pandas as pd
from Tkinter import *



def twitter(e1):
 consumer_key = 'BPJYMwo4Z6kNqgXLumsXueJ'
 consumer_secret = 'zB0SfmOtWWAm4T1N6akLD0ut0TKnGS2uNz9ZwaoB2Hc6Yxmry'
 access_token = '380414482-Z1ZZgJz4V8Y5epzDgrehBh3Ln7E57mgvybC13qt'
 access_token_secret = 'x1QINIBHZ2DuoJcSyNOjLX9QeW9DJc7vG1SqI9p3d13H'
 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),但我没有任何线索如何解决它。

python api user-interface twitter
1个回答
1
投票

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

command=lambda: twitter(e1.get().strip())
© www.soinside.com 2019 - 2024. All rights reserved.