功能设计

打开DEBUG模式

image-20210729185843108.png

快速替换文件

image-20210729190344308-16275566264962.png

将首页文字转换到本地跳转

  1. <ul>
  2. <li class="active"><a href="/index">首页<i class="la la-angle-down"></i></a></li>
  3. <li><a href="/movie">电影</a></li>
  4. <li><a href="/score">评分</a></li>
  5. <li><a href="/word">词云</a></li>
  6. <li><a href="/team">团队</a></li>
  7. </ul>
  8. </nav><!-- .nav-menu -->

图形配置

  1. 1. js文件夹下装载文件
  2. static/assets/js/echarts.min.js
  3. 2. title下增加script路径
  4. <script src="static/assets/js/echarts.min.js"></script>
  5. 3. 网页中增加script资源代码
  6. <script type="text/javascript">
  7. // 基于准备好的dom,初始化echarts实例
  8. var myChart = echarts.init(document.getElementById('main'));
  9. // 指定图表的配置项和数据
  10. var option = {
  11. title: {
  12. text: 'ECharts 入门示例'
  13. },
  14. tooltip: {},
  15. legend: {
  16. data:['销量']
  17. },
  18. xAxis: {
  19. data: ["衬衫","羊毛衫","雪纺衫","裤子","高跟鞋","袜子"]
  20. },
  21. yAxis: {},
  22. series: [{
  23. name: '销量',
  24. type: 'bar',
  25. data: [5, 20, 36, 10, 10, 20]
  26. }]
  27. };
  28. // 使用刚指定的配置项和数据显示图表。
  29. myChart.setOption(option);
  30. </script>

图形配置

  1. 1. 资源路径
  2. https://echarts.apache.org/examples/zh/editor.html?c=bar-background

image-20210730075713331.pngimage-20210730080152060.png

包安装配置

  1. 1. 虚拟环境已经安装了词云,但是pycharm使用的包环境监测不到
  2. 2. 在系统级python安装词云,会被anaconda干扰,它在系统环境变量中存在,那么注释所有的环境变量
  3. 3. 系统安装,提示缺少Microsoft Visual C++ 14.0,于是安装visual studio
  4. pip install wordcloud -i https://pypi.tuna.tsinghua.edu.cn/simple/

预览词频效果

image-20210730094704722.png

总结

本次项目需要用到的包

  1. ### flak-app.py
  2. from flask import Flask,render_template
  3. import sqlite3
  4. ### testwordcloud.py
  5. import jieba # 分词
  6. from matplotlib import pyplot as plt # 绘图,数据可视化---生成具体图片
  7. import wordcloud # 词云
  8. from PIL import Image # 图片处理
  9. import numpy as np # 矩阵运算
  10. import sqlite3 # 数据库
  11. ### spider.py
  12. from bs4 import BeautifulSoup # 网页解析,获取数据
  13. import re # 正则表达式,进行文字匹配
  14. import urllib.request, urllib.error # 制定URL,获取网页数据
  15. import xlwt # 进行Excel操作
  16. import sqlite3 # 进行SQLite数据库操作

主要技术

  1. ### echart
  2. https://echarts.apache.org/zh/tutorial.html#5%20%E5%88%86%E9%92%9F%E4%B8%8A%E6%89%8B%20ECharts
  3. ### wordcloud
  4. http://amueller.github.io/word_cloud/

项目理念

  1. 1. 主函数控制程序运行,顺序执行,便于调试
  2. if __name__ == "__main__": # 当程序执行时,调用该函数
  3. # 调用函数
  4. main()
  5. # init_db("movietest.db")
  6. print("爬取完毕!")
  7. 2. 代码按照爬取逻辑编写,逻辑清晰
  8. 3. 网页调试定位,按照代码块修改代码

源码地址

  1. https://github.com/TwoHeart996/scrapy.git

致谢

感谢IT私塾李巍老师认真仔细地授课,开源精神,使我得以学习此爬虫实战项目;

感谢哔哩哔哩网友在弹幕以及评论区分享模板资源以及报错思路,对我解决问题提供了很大的帮助

附上视频链接
点击查看【bilibili】