从一份运行日志说起:网易云自动听歌打卡300首是怎么跑起来的
发布时间:2026/8/15 16:25:39 作者:尧图编辑部 阅读量:1,286

从一份运行日志说起网易云自动听歌打卡300首是怎么跑起来的【免费下载链接】neteasy_music_sign网易云自动听歌打卡签到300首升级直冲LV10项目地址: https://gitcode.com/gh_mirrors/ne/neteasy_music_sign如果你打开过neteasy_music_sign这个项目的运行日志大概会看到类似下面这样的画面一行行带时间戳的记录在终端里滚动获取用户详情成功、第51次打卡成功、今日已打卡51首……数字一点点往上爬直到停在 300 附近。这段日志不是某个大神的炫耀贴而是这个网易云自动打卡项目每天自动执行一遍的标准流程。今天的文章不讲大道理就顺着这段日志往回倒看看要凑齐哪些零件才能让一台电脑或服务器替你把每天的听歌打卡跑完。先看结果日志里到底发生了什么把日志拆开看其实只有三件事在反复发生获取用户详情成功程序带着你的登录状态去查账号信息确认你是谁、当前等级、累计播放多少首。第 XX 次打卡成功每次调用网易云 API 的scrobble接口模拟一次完整听歌一首歌就算打卡成功。今日已打卡 XX 首每完成一首就把累计数刷新一次。注意日志里那行http://localhost:3000/scrobble?...这就是打卡动作真正发出的地方。它背后是一个本地运行的 API 服务程序的所有请求都从这里转发出去。这也是整件事最容易被忽略、却最关键的一环——后面会专门讲。为什么要卡在 300 首因为网易云音乐官方规定每天听歌打卡的上限就是 300 首所以程序打卡到 300 首后会自动停下第二天再重新开始。这也意味着升级速度的天花板大约就是每天 300 首。这份日志背后凑齐了四样东西一个能跑起来的网易云自动打卡系统本质上只需要四样东西零件作用备注Python 3.6 及以上运行环境本地或服务器都行API 接口服务程序与网易云之间的翻译官所有请求都经过它init.config配置文件相当于遥控器账号、歌单、推送全在这一个超过 300 首的歌单打卡的弹药库程序从歌单里取歌曲 ID其中 API 接口需要自己部署一个NeteaseCloudMusicApi服务部署好之后把地址填进配置文件的api字段。如果你不想折腾服务器也可以像日志里那样先在本机localhost:3000跑起来功能完全一样。第一次跑通按顺序做四件事就够了把代码拿到手git clone https://gitcode.com/gh_mirrors/ne/neteasy_music_sign cd neteasy_music_sign安装依赖项目依赖很少装一次即可pip install -r requirements.txt如果运行时报缺某个模块把它加进requirements.txt再装一次就好。找一个超过 300 首的歌单打开网易云音乐挑一个歌曲数大于 300 的歌单。怎么确认歌单 ID把歌单以链接形式分享出来链接里id后面那串数字就是。建议优先选我喜欢的音乐这类自己可控的歌单避免别人维护的歌单哪天失效导致打卡中断。填配置打开项目根目录的init.config把账号密码和歌单 ID 填进去。填之前先看一眼这张配置截图对照着改不容易出错配置文件就是遥控器每个键都要弄明白init.config分两个区块[token]管账号[setting]管行为。[token]区块就三行account 你的手机号或邮箱 password 密码明文即可 countrycode 86countrycode是国家码国内填 86国外手机号按实际情况填。[setting]区块四个开关值得注意api填你部署好的 API 地址比如http://localhost:3000/。md5Switch保持false不要动。填true会造成二次加密反而登录失败。peopleSwitch单账号保持false想管多个账号就设true程序会转而读取account.json。pushmethod推送方式可填wxpusher、SCTurbo、Bark或留空。改完保存直接运行python main.py程序启动后每 24 小时自动执行一轮任务日志会同时写入控制台和run.log文件。跑起来之后它到底在做什么主程序main.py的流程非常直白登录账号失败就重试最多试 3 次完成每日签到daily_signin拉取用户详情拿到当前等级和累计播放量从配置的歌单里取 300 首歌曲的 ID逐首调用scrobble打卡每完成一首休眠 60 到 90 秒模拟真人听歌节奏达到 300 首后停止把结果推送到你选择的渠道。一个账号跑完全程大约需要一小时左右全程不需要人工干预。有一个细节值得知道网易云音乐的等级数据每天下午 2 点更新所以当天打卡的播放量不会立刻体现在账号上等半天再去看就对了。想睡醒收到一条今日打卡完成的微信项目支持三种推送Server 酱免费版和 Turbo 版、WxPusher、Bark。用Server 酱pushmethod留空或填SCTurbo在sckey填入你申请的密钥。免费版和 Turbo 版的密钥长度不一样注意别混用。用WxPusherpushmethod填wxpusher再把appToken和wxpusheruid填上。用Bark适合 iOS 用户填barkServer和barkKey即可。推送消息里会包含当前等级、累计播放数、今日打卡数以及还需要打卡多少天的预估参考docs/show/wechat.md可以看效果样例。一个账号不够多账号也就改一个开关把peopleSwitch设为true程序会忽略配置文件里的账号转去读account.json。这是个 JSON 数组每个元素是一个账号对象字段和配置文件一一对应[ { countrycode: 86, account: 你的账号, password: 密码的MD5, al_id: 12345678, sckey: , pushmethod: , appToken: , wxpusheruid: , barkServer: https://api.day.app, barkKey: } ]多账号模式下有两个硬性要求password必须是 32 位小写的 MD5 值在线找个 MD5 工具算一下就行JSON 格式要严格账号之间要有逗号。每个账号可以配不同的推送密钥做完一个推一个互不干扰。几个会被绊倒的坑提前帮你踩了总是提示检查账号密码但密码明明没错九成是 API 的问题。默认的公共 API 用的人多高峰期容易挤挂建议自己部署 API 并填进api字段或者避开高峰时段运行。换了好几个 API 还是报错回头检查md5Switch是不是被改成了true以及多账号模式下密码 MD5 是否为 32 位小写。打卡完成了累计播放量却没怎么涨官方规则是只有从未听过的歌才会计入总数且数据更新有延迟。如果播放基数已经很高可以考虑加大循环次数。部署 API 后首页能打开但检查按钮没反应API 必须用 PHP 部署纯静态页面是无效的docs/python/下的几个文档分别讲了本地和云函数两种部署方式照着选一种即可。最后提醒一句init.config和account.json里装着你的账号信息别把它们提交到公共仓库也别截图发给别人。程序日志、配置细节、多账号案例这些内容项目文档里都写得更细遇到问题按docs/下的目录对号入座就行。想验证这套流程是否跑通最简单的办法就是配好账号、选好歌单、python main.py然后盯着终端看第一行日志。当获取用户详情成功出现时你就知道剩下的 300 次打卡已经不需要你了。【免费下载链接】neteasy_music_sign网易云自动听歌打卡签到300首升级直冲LV10项目地址: https://gitcode.com/gh_mirrors/ne/neteasy_music_sign创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考