163 Music Self Analysis
163 Music Self Analysis-通过python爬取听歌排行中的歌词信息,然后对歌词进行处理,最后生成词云或者其他可视化图形,完成分析。
参考代码地址:
NacedWang/163MusicSpider 基础代码部分
Samaritan·J 实现爬取个人排行界面
由于原程序的数据库储存在Mysql中,但是本人之前所学的数据库为Sql Server,所以需要重新学习相关的知识。多线程运行,可能会触发反爬虫引发其他错误,放弃。 已实现,真香为了实现无界面打开网页,寻找其他方法代替selenium 直接设置Option.headless=True
实现无界面打开
进度:
2020/10/13
- MySql安装
- 成功爬取个人排行信息到数据库
- 找到无法click选择所有时间的问题
2020/10/14
- 通过歌曲id爬取歌词到数据库
- 处理歌词信息,除去无用信息
- 生成词云
2020/10/15
- 正则表达式优化处理歌词代码,比原来的处理更加简单
- 整合所有模块
2020/10/16
- 优化sql模块,去除不需要的方法
- 调整MySql数据库,将之前测试用的表(如music2)全部改成正式表名(如music)
- 调整图片输出位置,统一输出到wordcloud文件夹
2020/10/17
- 首次使用Pycharm,配置好conda环境
- 优化数据库,添加以用户id为主键的列,全表保存。不再需要每次运行前清库,相同的歌曲不需要重复储存歌词
- 根据数据库的调整,重新优化代码。只需在main中输入id,其他文件自动运行并输出
- 处理歌词方法clearInf的if判断改成try、except
- 使用Pycharm进行commit、push操作
2020/10/26
- 利用MySQL存储过程,处理数据
- 统计相似度
2020/10/29
- 实现多线程爬取歌词
2020/10/30
- 实现sqlite,分离成PT版
- 实现pyqt,主界面与爬取线程分开,防止卡死
163MusicSA_PT
2020/10/31
- pyqt编写界面
- 尝试打包成exe
2020/11/1
- Nuitka打包失败
- jieba,Wordcloud本地资源txt读取问题
- pyinstaller打包成功 利用spec自定义选项
- 多线程打包问题,webdriver自动弹出问题
2020/11/5
- Nuitka打包成功,但是爬取功能失效
2020/11/15
- 界面细节优化,逻辑优化
2021/1/21
- 添加歌单匹配功能,未添加到界面中
2021/3/30
- 重构匹配代码
待完善:
- 可视化相似的歌曲(pyecharts)
- 将歌单匹配功能写入GUI中
- 爬取评论