Tkinter不运行该功能

时间:2017-04-05 20:34:03

标签: python tkinter beautifulsoup

我试图使用Tkinter。运行我的程序时,会出现一个带按钮的弹出窗口。按下按钮后,将执行代码并解析站点。解析本身工作正常,但使用Tkinter却没有。此外,代码在按下按钮之前执行。如果有人能指出我犯的错误,我将非常感激。

from lxml import html
import requests
from bs4 import BeautifulSoup

def news():
    page = requests.get('http://www.globo.com/index.html')

    soup = BeautifulSoup(page.content, 'html.parser')
    bbb = soup.find_all('p', class_='hui-premium__title')
    for item in bbb:
        ccc = item.get_text('p')
        print(ccc)


from tkinter import *
master = Tk()

b = Button(master, text="latest news", command='news()')
b.pack()

mainloop()

2 个答案:

答案 0 :(得分:1)

必须为command属性提供可调用的函数,而不是字符串。

例如:

b = Button(..., command=news)

答案 1 :(得分:0)

()创建代码中的news()移除Button。您不想在创建按钮时运行该功能。您想将其注册以备将来使用。