windows服务器 cd C:\Users\Administrator\Desktop\tools\netease_music linux服务器 cd /www/neteasemusic/tools 本地库测试 node index --database neteasemusic_develop --utils song node index --database neteasemusic_develop --utils album --min 10000000 node index --database neteasemusic_develop --utils album --order desc node index --database neteasemusic_develop --utils artist node index --database neteasemusic_develop --utils playlist node index --database neteasemusic_develop --utils comment --limit 10000 node index --database neteasemusic_develop --utils lyric node index --database neteasemusic_develop --utils assistant 思路: 通过一首歌,查出对应的artist和album,然后顺藤摸瓜查出网易云的其他song, album, artist, lyric, comment等 插入rel表的时候同时插入 wait_check_xx 表,然后后续检查这个表,如果不存在,那么就插入对应的 wait_fetch_xxx 表 之后查出 wait_fetch_xxx 表,进行数据拉取,形成闭环 后期: 歌单定时更新(rel表中添加一个del字段,先将歌单下面的全部置为删除状态,再插入的时候把已有歌曲的标记重新修改为正常状态) 评论的更新 被删除的aritst和album回头再通过其他表中的数据反查回来 歌曲目前爬取之后,会有一部分没有image封面,还是需要用旧方法爬取到 说明: song表中data_version=1的音乐是第一次爬取的时候存在,但是后面再爬取时不存在的音乐 后续分区(不能在现有表上修改,只能重新查出数据到新表) alter table song add partition ( PARTITION p1 VALUES LESS THAN ( 50000000), PARTITION p2 VALUES LESS THAN (1000000000), PARTITION p3 VALUES LESS THAN (1500000000), PARTITION p4 VALUES LESS THAN (2000000000), PARTITION p5 VALUES LESS THAN MAXVALUE ); SQL文件说明 sql/structure.sql 中的SQL为最简,不包含字段的编码集 sql/neteasemusic.sql 中的SQL为数据库导出,包含字段的编码集 项目数据库 CHARACTER SET 统一使用 'utf8mb4',COLLATE 统一使用 'utf8mb4_general_ci'