2023/9/17 基于pycharm的爬取电影250(二)

本文介绍了如何在获取网络数据后,使用HTML模板、开源可视化库Echarts和Python框架Flask进行数据美化,包括HTML基础知识、词云生成(使用jieba分词和WordCloud库)以及一个完整的项目示例。
摘要由CSDN通过智能技术生成

2023/9/18 网络爬虫加数据可视化学习(2)


接上回,我们介绍了如何从网页中获取数据并有效提取数据,那么当我们得到这些数据时,这些数据是及其不美观的。因此,我们作为一个合格的美观师,我们需要对这些数据进行 合理展示,更加美观

1.准备工作

我们这个项目主要用到如下工具:
1.1. 模板之家(根据自己想要的效果选择合适的HTML模板)
1.2. Echarts(开源可视化图表库)
1.3. wordcolud (词云生成器)
1.4. Flask框架(python中一种处理web的框架)

2.Html创建

我们首先将下载好的框架,利用flask框架进行创建flask对象:

app = Flask(__name__)  # 创建一个Flask对象,传递__name__参数,Flask用这个参数决定程序的根目录,以便以后能找到相对于程序根目录的资源文件位置

随后我们将自己下载的html模板复制到相应的文件夹中
在这里插入图片描述
其次我们创建不同路由来响应不同的网页内容

@app.route('/')# 路由
def index():
  return render_template("index.html")#渲染模板

这样我们的一个框架就算完成了,剩下的就是要进一步完善。

2.1 认识Html

此步,我们需要对html的一些基础知识有所了解,能找到我们想要的修改位置就可以,不需要完全看懂。接下来我将列举一些基础知识点。
一个完整的html框架如下:
在这里插入图片描述
剩下的一些知识点只能靠大家,用到什么去查什么了。

3.wordcloud


import jieba        #分词
from matplotlib import pyplot as plt    #绘图,数据可视化
from wordcloud import WordCloud         #词云
from PIL import Image                   #图片处理
import numpy as np                      #矩阵运算
import sqlite3                          #数据库


#准备词云所需的文字(词)
con = sqlite3.connect('move.db')
cur = con.cursor()
sql = 'select instroduction from movie250'
data = cur.execute(sql)
text = ""
for item in data:
    text =  text + item[0]
    #print(item[0])
#print(text)
cur.close()
con.close()

#分词
cut = jieba.cut(text)
string = ' '.join(cut)
print(len(string))


img = Image.open(r'.\static\assets\img\tree.jpg')   #打开遮罩图片
img_array = np.array(img)   #将图片转换为数组
wc = WordCloud(
    background_color='white',
    mask=img_array,
    font_path="STKAITI.TTF"    #字体所在位置:C:\Windows\Fonts
)
wc.generate_from_text(string)


#绘制图片
fig = plt.figure(1)
plt.imshow(wc)
plt.axis('off')     #是否显示坐标轴
plt.savefig('word.jpg',dpi=1000)
plt.show()    #显示生成的词云图片

#输出词云图片到文件

4. 完整代码以及项目

由于文件比较多,自己把自己的项目发到附件中,有需要的可以下载。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

yanxiaoyu110

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值