README.md 5.8 KB
Newer Older
Z
Zain 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169
## 网易云音乐升级

调用官方接口,每天自动刷完300首歌,一个平均耗时为2分钟左右。

<p align="center">
    <a href="https://github.com/ZainCheung"><img alt="Author" src="https://img.shields.io/badge/author-ZainCheung-blueviolet"/></a>
    <img alt="PHP" src="https://img.shields.io/badge/code-Python-success"/>
    <img src="https://visitor-badge.glitch.me/badge?page_id=ZainCheung.netease-cloud"/>
</p>

## 项目结构

```
|-- 项目文件夹
    |-- LICENSE
    |-- README.md
    |-- account.json
    |-- init.config
    |-- main.py
    |-- requirements.txt
    |-- run.log
```

`LICENSE`:开源许可证

`README.md`:项目自述文件

`account.json`:账号存放文件

`init.config`:配置文件

`main.py`:主程序

`requirements.txt`:依赖清单

`run.log`:运行日志

## 快速开始

克隆项目到本地

```bash
git clone https://github.com/ZainCheung/netease-cloud.git
```

或者fork本项目到你的仓库进行克隆

又或者在项目仓库直接下载ZIP压缩包,这些都是可以的

### 安装依赖

```bash
pip install -r requirements.txt
```

### 配置账号

> 为了保护账号信息,所有的账号密匙都打上了*号,使用时请换成自己的账号

打开`init.config`文件,进行配置

```bash
# setting.config(UTF-8)
```

第一句注释是为了声明编码格式,请不要删除该行注释

#### 账号

```bash
[token]
# 网易云音乐账号(手机号/网易邮箱)
account = 150********

# 密码,明文/MD5,建议自己去MD5在线加密网站给密码加密,然后填到下面
# 明文例如:123456abcd
# MD5例如:efa224f8de55cb668cd01edbccdfc8a9
password = bfa834f7de58cb650ca01edb********
```

`token`区域下存放个人账号信息,account存放网易云账号,password存放密码

> 注意,这里密码填写类型与后面的md5开关相关联,具体见后面介绍

#### 设置

```bash
[setting]
# 开关的选项只有 True 和 False
# 打卡网站的网址,如果失效请提issue:https://github.com/ZainCheung/netease-cloud-api/issues/new
api = https://netease-cloud-api.glitch.me/
```

api是指提供接口的服务器地址,这里提供一个Demo,源码也已经全部开源,如有对项目存在疑问欢迎查看源码,项目地址:[ZainCheung/netease-cloud-api](https://github.com/ZainCheung/netease-cloud-api)

另外想快速拥有一个一模一样的api服务并且使用自己定义的域名,那么可以按照上面项目的教程自己快速搭建

```bash
# 密码是否需要MD5加密,如果是明文密码一定要打开
# true  需要, 则直接将你的密码(明文)填入password,程序会替你进行加密
# false 不需要, 那就自己计算出密码的MD5,然后填入上面的password内
md5Switch = false
```

md5开关,如果自己不会加密md5,那么将这个开关置为true,并且将你的密码(明文)填入password,程序会为你加密。如果已经知道密码的md5,则将这个开关置为false,将md5填入上面的password内

```bash
# 是否开启多账号功能,如果打开将会忽视配置文件里的账号而从account.json中寻找账号信息
# 如果选择使用多账号,请配置好account里的账号和密码,即account和password,而sckey不是必需的,如果为空则不会进行微信推送
# 介于账号安全着想,account.json中的密码必须填写md5加密过的,请不要向他人透露自己的明文密码
peopleSwitch = false
```

这个开关是为那些拥有多账号或者准备带朋友一起使用的朋友准备的,正如注释所说,如果你有多个账号,都想使用这个服务,那么可以打开`peopleSwitch`置为true,那么配置文件里的账号就会被程序忽略,直接读取`account.json`中的账号信息,关于`account.json`的配置在后面。

```bash
# Server酱的密匙,不需要推送就留空,密匙的免费申请参考:http://sc.ftqq.com/
sckey = SCU97783T70c13167b4daa422f4d419a765eb4ebb5ebc9********
```

Server酱,是一个可以向你的微信推送消息的服务,并且消息内容完全自定义,使用之前只需要前往官网,使用GitHub登陆,扫码绑定微信,便可以获得密匙,从此免费使用Server酱

### 配置多账号

第一次打开`account.json`,内容会是这样

```json
[
    {
        "account": "ZainCheung@163.com",
        "password": "10ca5e4c316f81c5d9b56702********",
        "sckey": "SCU97783T70c13167b4daa422f4d419a765eb4ebb5ebc9********"
    },
    {
        "account": "150********",
        "password": "bfa834f7de58cb650ca01edb********",
        "sckey": "SCU97783T70c13167b4daa422f4d419a765eb4ebb5ebc9********"
    },
    {
        "account": "132********",
        "password": "f391235b15781c95384cd5bb********",
        "sckey": "SCU97783T70c13167b4daa422f4d419a765eb4ebb5ebc9********"
    }
]
```

可见里面是一个数组文件,成员为账号对象,对象有三个属性,分别是账号、密码、Server酱密匙。

不同的账号对应不同的密匙,在做完这个账号的任务后会给这个密匙绑定的微信发送消息提醒,如果留空则不提醒,留空也请注意语法,记得加双引号,列举一个正确的案例

```json
[
    {
        "account": "ZainCheung@163.com",
        "password": "10ca5e4c316f81c5d9b56702********",
        "sckey": ""
    },
]
```

可见这里的`sckey`为空,那么完成任务后便不会发送消息提醒,如果不确定是否成功可以查看日志

## 日志

程序运行中生成的所有记录都会保存在日志文件中,第一次克隆项目时,不会看到`run.log`日志文件,而在程序第一次运行时才会生成

## 声明

本项目的所有脚本以及软件仅用于个人学习开发测试,所有`网易云`相关字样版权属于网易公司,勿用于商业及非法用途,如产生法律纠纷与本人无关。