数据可视化—flask框架入门(爬虫及数据可视化)
warning:
这篇文章距离上次修改已过204天,其中的内容可能已经有所变动。
from flask import Flask, render_template, request
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from io import BytesIO
from PIL import Image
app = Flask(__name__)
# 爬虫函数,省略具体实现细节
def crawl_data(url):
# 这里应该是爬虫获取数据的代码
return pd.DataFrame({'column1': np.random.rand(10), 'column2': np.random.rand(10)})
@app.route('/')
def index():
return render_template('index.html')
@app.route('/get_data', methods=['POST'])
def get_data():
url = request.form['url']
data = crawl_data(url) # 调用爬虫函数
return data.to_json(orient='records') # 返回JSON格式的数据
@app.route('/plot', methods=['POST'])
def plot_data():
data = request.form
# 假设前端发送了x_column和y_column参数指定绘图的列
x_column = data.get('x_column')
y_column = data.get('y_column')
df = pd.DataFrame({x_column: np.random.rand(10), y_column: np.random.rand(10)})
plt.plot(df[x_column], df[y_column])
img_io = BytesIO()
plt.savefig(img_io)
img_io.seek(0)
img = Image.open(img_io)
img_bytes = np.asarray(img.convert('RGB')).tobytes()
return img_bytes
if __name__ == '__main__':
app.run(debug=True)
这段代码提供了一个简化的Flask服务器框架,用于处理网页请求和爬虫数据的获取。同时,提供了两个路由/get_data
和/plot
分别用于处理数据的获取和数据可视化的请求。这里的爬虫函数crawl_data
和数据可视化函数plot_data
都是假设的,应该根据实际需求进行具体实现。
评论已关闭