使用Tkinter和Newsapi制作一个简单的新闻应用

使用Tkinter和Newsapi制作一个简单的新闻应用

Tkinter是一个Python库,用于制作Windows和基于UNIX的操作系统的桌面应用程序。Tkinter为应用程序的小部件提供了许多选择。使用Tkinter可以以不同的方式制作相同的小部件。

今天,互联网上有大量的信息来源。新闻不断源自全球的信息到本地的信息。跟踪最新的新闻是一项艰巨的任务。在本文中,我们将使用Tkinter和Newsapi构建一个简单的新闻应用程序。

什么是Newsapi?

News API是一个(应用程序编程接口),通过JSON Web API提供访问全球新闻文章和突发新闻的接口。新闻API只是提供一个REST API,开发人员可以使用它们简单地获取所有新闻文章、标题等等,格式为JSON。

如何创建您的API密钥

  • 要使用News API,您必须通过访问News API 网站 ,创建自己的API密钥。

  • 点击右上角的GetApiKey按钮。

  • 在出现的表单中填写您的基本信息。

  • 提交您的基本信息后,您的注册将完成,并将获得您的API密钥。

使用Tkinter和Newsapi制作一个简单的新闻应用

使用Tkinter和Newsapi制作Web应用程序的步骤

第1步-安装Tkinter和NewsApi

在开始实现Web应用程序之前,您需要在Python中安装Tkinter库和News API。打开命令提示符或终端,键入pip install命令。

pip install tk
pip install newsapi-python

Pip是Python包管理器。上述命令将在您的本地文件系统中安装tkinter和newsapi。

第2步-导入所需模块

导入tkinter和newsapi模块以使用它们制作简单的新闻应用程序。

import tkinter as tk
from newsapi import NewsApiClient

第3步-创建NewsAPI客户端对象

一旦安装了所有库,请创建一个NewsAPI客户端对象,并使用您从News API网站创建的API密钥进行初始化。

newsapi = NewsApiClient(api_key='your_api_key_here')

将your_api_key_here替换为您从NEWS API网站创建的API。

第4步-创建一个函数来获取最新的新闻文章

我们将创建一个名为get_news()的函数,该函数将检索最新的新闻标题,并将它们显示为我们应用程序中的文本小部件。此外,我们需要在检索新的新闻文章标题之前清除屏幕。

def get_news():
   # 检索头条新闻
   top_headlines = newsapi.get_top_headlines(language='en')

   # 清除文本小部件
   text.delete(1.0, tk.END)

   # 显示头条新闻
   for article in top_headlines['articles']:
      text.insert(tk.END, article['title'] + '\n\n')

第5步-创建一个简单的用户界面

现在,我们将为应用程序创建一个简单的用户界面,并在应用程序内部文本小部件中显示新闻标题。底部的按钮显示“获取新闻”,该按钮将从新闻API中检索新闻标题,并在应用程序屏幕上显示它们。

# 创建主窗口
root = tk.Tk()
root.title('News App')

# 创建文本小部件
text = tk.Text(root, height=20, width=50)
text.pack()

# 创建按钮
button = tk.Button(root, text='Get News', command=get_news)
button.pack()

# 运行主循环
root.mainloop()

完整的简单Web应用程序代码如下所示 –

示例

import tkinter as tk
from newsapi import NewsApiClient
newsapi = NewsApiClient(api_key='your_api_key_here')

def get_news():
   # 获取头条新闻
   top_headlines = newsapi.get_top_headlines(language='en')

   # 清空文本窗口
   text.delete(1.0, tk.END)

   # 显示头条新闻
   for article in top_headlines['articles']:
      text.insert(tk.END, article['title'] + '\n\n')

# 创建主窗口
root = tk.Tk()
root.title('新闻应用')

# 创建文本窗口
text = tk.Text(root, height=20, width=50)
text.pack()

# 创建按钮
button = tk.Button(root, text='获取新闻', command=get_news)
button.pack()

# 运行主循环
root.mainloop()

输出

使用Tkinter和Newsapi制作一个简单的新闻应用

结论

在本文中,我们了解了如何使用Tkinter和Python中的新闻API构建一个简单的Web应用程序。我们仅仅调用了新闻API提供的REST API,并在用户友好的界面中的简单文本窗口中显示了新闻头条。该应用程序可以扩展以包括更多功能,例如按主题或来源过滤新闻,可以改进用户界面并添加其他东西,以使应用程序对用户更具有互动性。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程