Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x Tweepy:当用户在一定时间内没有发布tweet时,如何显示天气。(特金特,图形用户界面)_Python 3.x_Tkinter - Fatal编程技术网

Python 3.x Tweepy:当用户在一定时间内没有发布tweet时,如何显示天气。(特金特,图形用户界面)

Python 3.x Tweepy:当用户在一定时间内没有发布tweet时,如何显示天气。(特金特,图形用户界面),python-3.x,tkinter,Python 3.x,Tkinter,我用PythonTkinter编写了一个代码,它在一个GUI上显示了用户的最新推文和实际天气。所以我现在想要的是从twitter上的用户那里获取最新的推文,并在GUI上显示,只有当用户在特定时间内没有发布推文时,比如说15或30分钟,它才会显示实际的天气 代码: import tweepy import datetime,time from tkinter import * import requests from bs4 import BeautifulSoup Achtergrond_

我用PythonTkinter编写了一个代码,它在一个GUI上显示了用户的最新推文和实际天气。所以我现在想要的是从twitter上的用户那里获取最新的推文,并在GUI上显示,只有当用户在特定时间内没有发布推文时,比如说15或30分钟,它才会显示实际的天气

代码:

import tweepy
import datetime,time
from tkinter import *
import requests
from bs4 import BeautifulSoup



Achtergrond_Kleur = "#ffc642"
NS_Blauwe_kleur = "#0052a3"

ACCESS_TOKEN = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
ACCESS_TOKEN_SECRET = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
CONSUMER_KEY = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
CONSUMER_SECRET = 'XXXXXXXXXXXXXXXXXXXXXXXXXXX'

auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET)
auth.set_access_token(ACCESS_TOKEN, ACCESS_TOKEN_SECRET)
api = tweepy.API(auth)

url = "https://weather.com/nl-NL/weer/vandaag/l/b0484cf686f58dcdeb1b62424e98539b498c405ed0ba03872e513aea8abba7eb"

def main():
    root = Tk()
    root.geometry("1000x600")
    app = Window(root)
    root.mainloop()


class Window(Frame):
    def __init__(self, master):
        Frame.__init__(self, master)
        self.master = master
        self.init_window()

    def init_window(self):
        self.master.geometry('1000x600')
        self.master.title('NS Moderatie')
        self.pack(fill=BOTH, expand=1)
        self.configure(bg='white')

        self.image = PhotoImage(file="twitterns2.png")
        self.image = self.image.subsample(2, 2)
        self.image_label = Label(self, image=self.image)
        self.image_label.place(relx=0.47, rely=0.65)
        self.image_label.configure(background='white')

        self.label = Label(self, bg=NS_Blauwe_kleur)
        self.label.place(relx = 0, rely = 0.03, relwidth = 2, relheight = 0.12)

        self.label = Label(self, text = "Beoordeling van NS-Reizigers", bg = NS_Blauwe_kleur, fg = 'white', font=('',30,''))
        self.label.place(relx = 0.25, rely = 0.05)

        self.overzichtlabel = Label(self, text = '', bg = 'white', font=('', 15, '') )
        self.overzichtlabel.place(relx=0.25, rely=0.25, relwidth=0.50, relheight=0.50)

        self.recentetweetslabel = Label(self, text = '', bg = 'white', font=('', 18, '') )
        self.recentetweetslabel.place(relx=0, rely=0.20, relwidth = 1)

        self.locationlabel = Label(self, bg = 'white',  font = ('', 15, '') )
        self.locationlabel.place(relx = 0.05, rely = 0.20)

        self.temperatuurlabel = Label(self, bg = 'white', font = ('', 30, '') )
        self.temperatuurlabel.place(relx = 0.05, rely = 0.27)

        self.verwachtinglabel = Label(self, bg = 'white',  font = ('', 15, '') )
        self.verwachtinglabel.place(relx = 0.05, rely = 0.35)

        self.neerslagsverwachting = Label(self, bg = 'white', font = ('', 12, '') )
        self.neerslagsverwachting.place(relx = 0.05, rely = 0.40)

        self.get_tweets()
        self.get_weather()


    def get_tweets(self):

        tweets = api.user_timeline("username",  count = '5')
        if tweets != []:
            self.recentetweetslabel ['text'] = 'Meest recente tweets van reizigers'
            print_tweets = ''
            for tweet in tweets:
                print_tweets += tweet.text + "\n" + "\n"
            self.overzichtlabel ['text'] = print_tweets


    def get_weather(self):


        self.page = requests.get(url)
        self.soup = BeautifulSoup(self.page.content, "html.parser")
        self.location = self.soup.find('h1', class_ = "CurrentConditions--location--1Ayv3").text
        self.temperatuur = self.soup.find('span', class_ = "CurrentConditions--tempValue--3KcTQ").text
        self.verwachting = self.soup.find('div', class_ = "CurrentConditions--phraseValue--2xXSr").text
        # neerslag = soup.find('div', class_ = "CurrentConditions--precipValue--RBVJT").text

        self.locationlabel.config(text = self.location)
        self.temperatuurlabel.config(text = self.temperatuur)
        self.verwachtinglabel.config(text = self.verwachting)
        # neerslagsverwachting.config(text = neerslag)

        self.temperatuurlabel.after(60000, self.get_weather)
        self.update()


main()