hello,大家好,我是wangzirui32,今天来教大家如何使用Flask和echarts实现一个简单的CSDN博客专栏访问量展示系统。开始学习吧!
1. 项目架构
templates下准备了两个html模板,一个为柱形统计图的显示页面(bar.html
),一个为饼图统计页面(pie.html
)。
crawler.py
为访问量数据的爬虫程序,data.json
为数据文件。
2. app.py
from flask import Flask
from flask import jsonify, render_template
import json
app = Flask(__name__)
app.secret_key = "23ruoiwhecdwi2eh0h0h23f0h320fh2"
# 提供数据的api接口
@app.route("/api/get_data")
def get_data():
f = open("data.json", encoding="UTF-8")
json_data = json.load(f)
f.close()
return jsonify(json_data) # 返回json数据
# 两个统计图图表显示页面
@app.route("/bar")
def bar():
return render_template("bar.html")
@app.route("/pie")
def pie():
return render_template("pie.html")
if __name__ == "__main__":
app.run(debug=True)
2. crawler.py
from requests import get
from bs4 import BeautifulSoup as bs
from fake_useragent import UserAgent as UA
import json
headers = {
"User-Agent": UA().random,
}
blog_url = "https://blog.csdn.net/wangzirui32"
r = get(blog_url, headers=headers)
soup = bs(r.text, "lxml")
div = soup.find_all("div", class_="aside-common-box-content")[3]
li = div.find_all("li")
links = []
for i