吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 6691|回复: 60
收起左侧

[原创工具] 163MusicSA v1.1 网易云听歌排行词云工具

  [复制链接]
奥利弗Ao 发表于 2020-11-16 17:28
本帖最后由 奥利弗Ao 于 2020-11-22 16:30 编辑

天翼云地址https://cloud.189.cn/t/u2qIzeZrayIv 提取码:vw0x
Github源码地址https://github.com/Olvi73/163MusicSA_PE

主要作用:获取你自己听歌排行的信息,然后生成相应的词云,了解自己最喜欢听的歌出现最多的歌词是什么,听得最多的歌手是什么,所有数据均储存在本地,不会泄露隐私


这个学期刚学python这门课,现在已经结课了,就把这个作为结课作业吧。
通过爬取网易云用户历史听歌排行榜中的信息,生成对应的词云,词云的字体或形状可由用户自行选择。  
python为主体,selenium实现特定界面信息的爬取、sqlite存储数据、pyqt5设计可视化界面、pyinstaller打包成exe  
这个项目从10月13日到今天,终于做成相对满意的程度,虽然功能比较简单,但是因为python这门语言,还有第三方库的原因,做成可执行文件还是比较大,请见谅。


以下使用环境为win10 64位系统,(提醒后更新)需要下载chrome浏览器,其他环境暂时没有测试
chrome版本

chromedriver版本(文件自带的版本)

如果有不同的chrome版本可以下载自己对应的chromedriver,然后放到data文件夹
镜像地址:http://npm.taobao.org/mirrors/chromedriver/


使用需知:
在点击爬取操作或者词云操作的按钮的时候,同一时间只能使用一个否则程序可能崩溃,在主界面的控制台中可以查看进度
爬歌曲或者生成词云需要10s左右,爬歌词需要40s左右


第一步:
    开启权限
    PC:设置>消息与隐私>我的听歌排行>所有人可见
    手机:设置>消息与隐私设置>隐私设置>个人主页展示设置>谁可以看到我的听歌排行>所有人

    不关闭权限无法获取信息!在获取完自己的信息之后可以把这个给权限再打开,防止别人爬取你的信息!

第二步:
    输入你的网易云id  网页版打开自己的主页,https://music.163.com/#/user/home?id=12345678  id后面的内容(12345678)就是需要输入的内容,手机版打开个人主页,点右上角的分享,然后选择复制链接,链接中也有id=xxxx  xxxx为你的id

第三步:
    点击获取数据中的歌曲按钮,等待爬取歌曲数据,然后再点击歌词按钮,爬取歌词数据,必须按照先歌曲歌词的顺序

第四步:
    选择合适的形状以及字体,点击歌词或者歌手,生成词云。在形状和字体文件夹可以加入自己喜欢的形状图片或者字体文件。


后面的Music和Lyric就是查看数据库中保存的数据,不输入用户id是查看所有数据,输入用户id是查看特定用户的数据

Search是用于获取特定歌曲的歌词,输入歌曲id就能在下面的文本中得到歌词


效果图:

主界面

主界面

词云

词云

词云文件

词云文件



新人第一次发帖,如有违规请立即与我联系删除

免费评分

参与人数 12吾爱币 +16 热心值 +11 收起 理由
小鲁班 + 1 谢谢@Thanks!
窗外灯火几许 + 1 + 1 谢谢@Thanks!
Sumi_小书 + 1 谢谢@Thanks!
汪,被发现了 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
wth0411 + 1 + 1 我很赞同!
weilaiguang42 + 1 + 1 我很赞同!
lcg2014 + 1 + 1 搞个播放/评论/收藏排行榜比较好
donlex + 1 + 1 谢谢@Thanks!
Gif + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
hu714949 + 1 + 1 用心讨论,共获提升!
18929637256q + 1 + 1 我很赞同!
风之暇想 + 7 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| 奥利弗Ao 发表于 2020-11-16 19:51
Gif 发表于 2020-11-16 19:03
楼主,只能爬去100首歌(应该是最近播放的),能不能爬去全部,很想看看自己的风格

这个爬的是历史听歌排行的歌曲,如果你想爬最近播放,去源码里找到music_by_songsall.py文件,把33行的driver.find_element_by_id("songsall").click()给注释掉,不让它点songsall就是最近播放的。
 楼主| 奥利弗Ao 发表于 2020-11-16 18:06
楼主你好萌 发表于 2020-11-16 18:00
还是在线的百度词云香

百度词云的操作确实简单,其实我用的这个词云的模块也有很多功能,能够做到全自定义,不过做成界面实现起来比较麻烦,所以我就只选择了形状和字体两个选项,要用百度词云的话可以自己读取数据库的数据,再把数据输入到百度词云中
左岸麦田 发表于 2020-11-16 17:48
xiaozhuo9090 发表于 2020-11-16 17:49
真好啊啊啊啊啊
楼主你好萌 发表于 2020-11-16 18:00
还是在线的百度词云香
ryanjie 发表于 2020-11-16 18:01
这个挺好啊,等会试一下
panice 发表于 2020-11-16 18:01
仔细学习一下~
兜兜风f 发表于 2020-11-16 18:02
前排支持
zt185 发表于 2020-11-16 18:04
蛮不错下载试试!
zhongguo0745 发表于 2020-11-16 18:18
厉害了,感谢
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 22:13

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表