1.在项目中创建static文件夹-------创建js文件夹-----js文件夹下放echarts.min.js(需要在echarts官网下载)
2.在项目中创建templates文件夹-------创建base.html index.html analyseinfo.html 三个html页面
app.py

from flask import Flask,render_template,request
from mysqlunit import MySql
import pandas as pd
app=Flask(__name__)
global rows
@app.route("/")
def index():global rowsdb=MySql(db="test")sql="select * from books"rows=db.query(sql)print(rows)return render_template("index.html",rows=rows)
@app.route("/tonji")
def showAnalyse():global rowsdf = pd.DataFrame(rows)print(df)df1 = df.groupby("Press").count()["BookId"].sort_values(ascending=False).head()print(df1)return render_template("analyseInfo.html", x=list(df1.index), y=list(df1))if __name__ == '__main__':app.run(debug=True)

mysqlunit.py

import pymysqlclass MySql():# 类的构造方法,实例化对象时,获得连接及游标def __init__(self,db="test"):self.conn=pymysql.connect(host='127.0.0.1',db=db,user="root",passwd="123456")self.cursor=self.conn.cursor(pymysql.cursors.DictCursor)# 通用查询方法,传递sql及sql中数据def query(self,sql,args=None):self.cursor.execute(sql,args=args)return self.cursor.fetchall()# 通用增删改方法,传递sql及sql中数据def update(self,sql,args=None):num=self.cursor.execute(sql,args=args)self.conn.commit()if num:return Trueelse:return False# 关闭资源def close(self):self.conn.close()

base.html
注意:在里面所需要的echarts.min.js文件可以在echarts菜鸟教程里面复制到项目中!在项目的static文件夹下创建js文件夹再在js文件夹下创建js文件(echarts.min.js)
连接如下:
echarts.min.js下载

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><link rel="stylesheet" href="static/css/bootstrap.css">{% block styles %}{% endblock %}
</head>
<body>
<h2 align="center">当当网书籍信息后台统计</h2>
<p>&nbsp;&nbsp;<a href="/tonji"><span class="glyphicon glyphicon-pencil"></span>&nbsp;前5名出版数量</a><span>|</span><a href="/"><span class="glyphicon glyphicon-th-list"></span>&nbsp;查看书籍信息</a>
<hr/>
</p>
{% block content %}
{% endblock %}{% block scripts %}
{% endblock %}
</body>
</html>

index.html

{% extends "base.html" %}
{% block content %}<table class="table table-striped"><tr><th>编号</th><th>书名</th><th>价格</th><th>作者</th><th>出版社</th><th>出版日期</th><th>评论数</th></tr>{% for row in rows %}<tr><td>{{ row["BookId"] }}</td><td>{{ row["Title"] }}</td><td>{{ row["Price"] }}</td><td>{{ row["Author"] }}</td><td>{{ row["Press"] }}</td><td>{{ row["PubTime"] }}</td><td>{{ row["Comments"] }}</td></tr>{% endfor %}</table>
{% endblock %}

analyseinfo.html

{% extends "base.html" %}
{% block content %}<script src="static\js\echarts.min.js"></script><div id="main" style="width: 800px;height: 400px;margin: 0 auto"></div><script>// 基于准备好的dom,初始化echarts实例var myChart = echarts.init(document.getElementById('main'));// 指定图表的配置项和数据var option = {title: {text: '前5名出版社数量'},tooltip: {},legend: {data: ['数量']},xAxis: {data: {{x | safe}}},yAxis: {},series: [{name: '数量',type: 'bar',data:  {{y | safe}}}]};// 使用刚指定的配置项和数据显示图表。myChart.setOption(option);</script>
{% endblock %}

当当网书籍信息后台统计相关推荐

  1. 爬虫爬当当网书籍信息

    拖了好久的一个爬虫 先上代码 文字慢慢补 update(2018-5-7):加了出版社= = updata(2018-6-29):啥都加了 https://github.com/general10/d ...

  2. Python 爬虫第三步 -- 多线程爬虫爬取当当网书籍信息

    XPath 的安装以及使用 1 . XPath 的介绍 刚学过正则表达式,用的正顺手,现在就把正则表达式替换掉,使用 XPath,有人表示这太坑爹了,早知道刚上来就学习 XPath 多省事 啊.其实我 ...

  3. python爬虫-爬取当当网书籍信息存到Excel中

    文章目录 一.任务 二.分析 (一).单页面的信息分析 源代码分析 目标信息定位与分析 代码设计 (二).所有目标页面链接分析 目标链接分析 代码设计 三.注意要点 四.完整代码 五.参考 一.任务 ...

  4. Python |(爬虫 )爬取当当网书籍信息存到Excel中

    文献检索作业,小白也很无奈.还好有学霸同学的可以借鉴. 一.任务 获取当当网上至少300本书[均为某类书,如Linux相关的书籍,或C++相关的书籍]的信息,包括书名,网址,价格,作者,并存在exce ...

  5. 基于Pandas和PyEcharts的当当网图书信息可视化分析

    1 绘制python图书封面的照片墙 import math import os from PIL import Imagedef makePicturesWall(picdir):picslist ...

  6. 【python】分析当当网书籍价格、出版社、电子书版本占比数据

    前言 嗨喽,大家好呀~这里是爱看美女的茜茜呐 又到了学Python时刻~ 本次案例实现目标 书籍基本数据 实现可视化图表 书籍评论数据 评论可以实现词云图 最基本思路流程: <通用> 一. ...

  7. 当当网书籍数据爬进数据库

    当当网书籍数据爬进数据库 首先我们要考虑到当当网有没有反爬机制,几次后发现是没有的. 一开始我们要考虑我们要爬取的信息是哪些,然后在items.py下面全部写出来. 然后就写爬虫文件 从核心文件开始定 ...

  8. 一位同学的Python大作业【分析当当网书籍价格、出版社、电子书版本占比数据】

    目录 前言 本次案例实现目标 最基本思路流程: <通用> 一. 数据来源分析 二. 代码实现步骤过程: 代码实现基本四大步骤 代码实现 获取书籍详情信息 发送请求 解析数据 保存数据 运行 ...

  9. scrapy框架的简单使用——爬取当当网图书信息

    ** Scrapy爬取当当网图书信息实例 --以警察局办案为类比 ** 使用Scrapy进行信息爬取的过程看起来十分的复杂,但是他的操作方式与警局办案十分的相似,那么接下来我们就以故事的形式开始Scr ...

最新文章

  1. PHP、jQuery、jQueryPager结合实现Ajax分页
  2. java工程师占比_Java过时了吗?
  3. 统一六国的另一个法宝
  4. 实验讲解OSPF网络类型
  5. Xilinx产品与及开发工具2017
  6. Unity3D笔记 切水果 一
  7. 模板方法模式(模板方法设计模式)详解
  8. 极简局域网(windows)桌面同屏软件
  9. 瑞萨RX23T开发板一键设置库文件说明
  10. 动态创建iframe页面内容
  11. 如何使用Transformers和Tokenizers从头开始训练新的语言模型
  12. 后网盘时代:百度问鼎、阿里紧追、360们跟进
  13. 如何找到共享的打印机
  14. 从一个技术人员角度来谈谈10000小时定律
  15. 关于PS课程中字体部分的学习总结
  16. 什么是CC攻击?CC攻击的防御措施有哪些?
  17. Gitlab和AD账号集成,账号登录时报错:Invalid credentials
  18. 论文:预测原子距离进行构象预测(VAE)
  19. 力扣练题之876题:链表的中间结点
  20. 数学建模之matlab软件学习06——专题六 数值微积分与方程求解

热门文章

  1. pandas数据分析使用技巧
  2. Windows下最简洁的Linux远程连接软件
  3. u盘无法识别如何修复?恢复U盘,建议尝试下这些方法
  4. 基于 Python 官方 GitHub 构建 Python 文档
  5. 灵图天行者9 pc版_2019十款优化最佳的PC游戏!第一还是冷饭
  6. CMake添加QT库是出现Policy CMP0020 is not set“警告解决方法
  7. 2020年焊工(高级)考试内容及焊工(高级)考试总结
  8. eclipse中spring访问mysql的简易实现
  9. LXI 仪器中VXI-11协议windows和linux系统实现
  10. VXI-11基于STM32 LWIP实现