python+大数据之数据可视化完整版

第一章 绪论

1.开发环境
windows-x64位,pycharm,python3.8
2.基本功能介绍
本次可视化页面的制作主要有三步,web服务器页面的制作,爬取页面的国家和GDP数据和将数据进行可视化页面,web服务器页面的制作主要是FastAPI框架,爬取页面上的数据主要采用requests模块和re模块,而数据可视化主要是用pyecharts模块进行导入相应形状的表格。本次实训利用四天时间学到的内容,实用性强,自己平时也能够操作和扩展。

第二章 系统设计

2.1 浏览器访问web服务器的通讯流程
在这里插入图片描述
*浏览器访问Web服务器的通讯流程:

  1. 浏览器 (127.0.0.1/index.html) ==> 向Web服务器请求index.html
  2. Web服务器 (返回index.html) ==> 浏览器
  3. 浏览器解析index.html发现需要0.jpg ==>发送请求给 Web服务器请求0.jpg
  4. Web服务器 收到请求返回0.jpg ==> 浏览器 接受0.jpg*

第三章 系统实现

3.1 web服务器的制作

#首先从fastapi模块中导入FastAPI和相应报文Response和导入服务器uvicorn。
from fastapi import FastAPI
from fastapi import Response
import uvicorn
#创建FastAPI框架对象。
app = FastAPI()
#通过@app路由器装饰器进行收发数据和按照get方式进行请求数据,其中/{path}为资源的url任意路径。
@app.get("/{path}")
def get_html(path: str):#路径为str格式
    with open(f"./html/{path}"#打开/html下面的文件,"rb"#二进制的方式读取) as f:
        data = f.read()
    #return返回相应数据
    return Response(content=data, media_type="text/html"#返回的格式)
#同上面一部分相似
@app.get("/images/{path}")
def get_image(path: str):
    with open(f"./images/{path}", "rb") as f:
        data = f.read()
    return Response(content=data, media_type="jpg")
#运行服务器使用uvicorn进行,框架对象为app,host为ip地址,port为端口号
uvicorn.run(app, host="127.0.0.1", port=8082)

3.2 爬取页面上的GDP数据

import re #re为正则表达式的模块
import requests
#存储爬取到的国家名字
gdp_list = []
# 存储国家名字的列表
country_list = []
# 向网站发出请求 网站会返回给我一个html代码对象
data = requests.get("http://127.0.0.1:8082/gdp.html")
# 获取具体的数据
data = data.content.decode("utf8")
# 对gdp.html进行解析
data_list = data.split("\n")
# 匹配响应的数据
for i in data_list:
    ret1 = re.match('.*<a href=""><font>(.*)</font></a>', i)
    if ret1:
        country = ret1.group(1)#第一个括号中数据
        country_list.append(country)

    ret2 = re.match('.*<font>¥(.*)亿元</font>', i)
    if ret2:
        gdp = ret2.group(1)
        gdp_list.append(gdp)

# 通过zip方法转化我们的列表数据,将两个列表融合为一个列表
result = list(zip(country_list, gdp_list))
print(result)

3.3数据可视化

# 创建一个饼状图显示GDP前十的国家
def data_view_pie():
    # 获取前十的过的GDP数据, 同时让数据符合[(),()...]的形式
    data = list(zip(country_list[:10], gdp_list[:10]))
    # 创建饼图
    pie = Pie(init_opts=opts.InitOpts(width="1400px", height="800px"))
    # 给饼图添加数据
    pie.add(
        "GDP",
        data,
        label_opts=opts.LabelOpts(formatter='{b}:{d}%')
    )
    # 给饼图设置标题
    pie.set_global_opts(title_opts=opts.TitleOpts(title="许俊博"))
    # 保存结果
    pie.render()
if __name__ == '__main__':
    # 获取GDP数据
    get_gdp_data()
    # 生成可视化饼图
    data_view_pie()

第四章 系统测试和评价

4.1创建web服务器
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

4.2爬取相关国家的GDP
在这里插入图片描述

在这里插入图片描述

4.3进行数据可视化处理
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

  • 1
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

两壶若水

感谢您的鼓励!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值