Python的有趣事实生成器 Web 应用程序
在本文中,我们将讨论如何使用 PyWebio 模块在Python创建一个有趣的事实生成器 Web 应用程序。本质上,它会随机创建有趣的事实并将它们显示在 Web 界面上。该脚本将在GET方法的帮助下从uselessfacts.jsph.pl 中检索数据,我们将使用请求和JSON模块分别获取和加载数据。数据加载完毕后,只需要传递字典中的文本,这样我们就只能得到笑话了。为了在网络上创建一个简单的交互式界面,我们将使用PyWebIO模块。
PyWebIO 包含在浏览器上获取用户输入和输出的功能,将浏览器变成“富文本终端”,可用于构建简单的 Web 应用程序或基于浏览器的 GUI 应用程序。有了这个模块,任何人都可以在没有 HTML 和 JS 的任何先验知识或开销的情况下生成 Web 应用程序。
可以使用以下命令安装它:
pip install pywebio
入门
按照以下步骤创建一个有趣的因素生成器 Web 应用程序。
- 导入所有需要的模块
- 使用requests.request()方法发送GET请求,并使用json.loads()函数解析有效的JSON消息并将其转换为Python字典。由于requests函数会创建一个条目字典,而我们只需要文本,所以我们将在 json 模块中传递response.text 。
- 现在,因为我们需要文本,即事实,我们将在数据列表中传递文本并使用pywebio模块中定义的样式函数打印事实。因为 data 是一个包含几个无用项目的随机笑话字典,所以我们将只获取文本部分。
下面给出了使用上述方法的完整实现。
程序:
Python3
# import the following modules
import json
import requests
from pywebio.input import *
from pywebio.output import *
from pywebio.session import *
def get_fun_fact(_):
# Clear the above screen
clear()
put_html(" \
Fun Fact Generator
")
# URL from where we will fetch the data
url = "https://uselessfacts.jsph.pl/random.json?language=en"
# Use GET request
response = requests.request("GET", url)
# Load the request in json file
data = json.loads(response.text)
# we will need 'text' from the list, so
# pass 'text' in the list
useless_fact = data['text']
# Put the facts in the blue colour
# Put the click me button
style(put_text(useless_fact), 'color:blue; font-size: 30px')
put_buttons(
[dict(label='Click me', value='outline-success',
color='outline-success')], onclick=get_fun_fact)
# Driver Function
if __name__ == '__main__':
# Put a heading "Fun Fact Generator"
put_html(" \
Fun Fact Generator
")
# hold the session for long time
# Put a Click me button
put_buttons(
[dict(label='Click me', value='outline-success',
color='outline-success')], onclick=get_fun_fact)
hold()
输出: