Streamlit:使用 Python 快速开发 Web 应用
一、简单介绍
Streamlit 是一个开源 Python 库,官网地址:
https://streamlit.io/http://StreamlitStreamlit 是一个开源的 Python 框架,旨在为数据科学家和 后端工程师们提供只需几行代码即可创建动态数据应用的功能。
让没有任何前端基础的人,使用 Python 开发 Web 应用,没有复杂的配置,没有复杂的语法,开箱即用,拎包入住。
安装Streamlit
pip install streamlit
二、项目案例
1.菜单小工具
#代码保存文件名为streamlit.py
import streamlit as st
from streamlit_option_menu import option_menu
# 设置Streamlit应用程序的标题
st.set_page_config(page_title="app name", layout="wide")
menu1="菜单1"
menu2="菜单2"
with st.sidebar:
menu = option_menu("菜单", [menu1, menu2],
icons=['house', "list-task"],
menu_icon="cast", default_index=0)
def main():
if menu == menu1:
st.subheader(f"{menu1}")
if menu == menu2:
st.subheader(f"{menu2}")
if __name__ == '__main__':
main()
运行方式:在Python编译器Pycharm打开终端,进入到代码的目录下,输入
streamlit run streamlit.py
接下来会自动跳转到网页上面,或者复制下面的网页地址
2.模拟HTTP请求工具
#代码保存文件名为streamlit.py
import requests
import streamlit as st
import datetime
import json
# 设置标题栏
st.set_page_config(page_title="HTTP请求模拟工具", page_icon="🚀")
st.title("HTTP请求模拟工具")
st.markdown("""
---
### 功能点:
1. 发送HTTP请求:用户输入请求URL、请求方法和请求头信息,工具对请求进行封装后发送HTTP请求。
2. 查看响应结果:工具接收到服务器响应后,将响应结果展示给用户以便于查看。
3. 关注请求细节:用户可以查看请求发送的细节信息,包括请求发送时间、请求耗时、请求大小等。
---
""")
# st.markdown("""
# # HTTP请求模拟工具
# ### 功能点:
# 1. 发送HTTP请求:用户输入请求URL、请求方法和请求头信息,工具对请求进行封装后发送HTTP请求。
# 2. 查看响应结果:工具接收到服务器响应后,将响应结果展示给用户以便于查看。
# 3. 关注请求细节:用户可以查看请求发送的细节信息,包括请求发送时间、请求耗时、请求大小等。
# ---
# """)
url = st.text_input("请输入**请求的URL地址:**",value="https://e.weather.com.cn/p/site/aqifc1h?areaid=101010300")
method = st.selectbox("请求方式", ["GET", "POST", "PUT", "DELETE"])
headers = st.text_input("请求头信息")
if st.button("发送请求"):
if headers:
try:
eval(headers)
except Exception as e:
st.error("请求头信息格式有误,请确认输入的是字典格式,例如:{'key1': 'value1', 'key2': 'value2'}")
headers ==None
else:
headers = None
try:
start_time = datetime.datetime.now()
response = requests.request(method=method,url=url, headers=headers,timeout=5)
end_time = datetime.datetime.now()
time_count= (end_time - start_time).total_seconds()
size= len(response.content)
st.subheader("请求细节:")
st.write(f"请求方法:{method}")
st.write(f"请求URL:{url}")
st.write(f"请求头:{headers}")
st.write(f"请求发送时间:{start_time}")
st.write(f"请求耗时:{time_count}")
st.write(f"请求大小:{size} bytes")
st.subheader("响应结果:")
try:
pretty_json = json.loads(response.text)
st.json(pretty_json)
except:
st.text(response.text)
# st.write(f"{response.status_code} {response.reason}")
except Exception as e:
st.error(f"请求发送失败:{e}")
# # 模拟HTTP请求工具
# def main():
# # 模拟HTTP请求工具
# st.subheader("模拟HTTP请求工具")
# # 模拟HTTP请求工具
# method = st.selectbox("请求方式", ["GET", "POST", "PUT", "DELETE"])
# url = st.text_input("请求地址")
运行方式:在Python编译器Pycharm打开终端,进入到代码的目录下,输入
streamlit run streamlit.py
接下来会自动跳转到网页上面,或者复制下面的网页地址