项目作者: xovel

项目描述 :
Netease music recommendation, not only daily recommendation, FM, random recommendation.
高级语言: JavaScript
项目地址: git://github.com/xovel/nmr.git
创建时间: 2019-05-23T09:12:25Z
项目社区:https://github.com/xovel/nmr

开源协议:MIT License

下载


nmdr

Netease music recommendation, not only daily recommendation, FM, random recommendation.

网易云音乐推荐。

项目背景请参阅这里

Develop

  1. git clone git@github.com:xovel/nmr.git
  2. cd nmr
  3. npm i
  4. node build

Fetch

使用 node fetch.js 命令可以从网易云页面获取歌曲信息,支持的方式如下:

  1. node fetch.js [type]? [id] [options]
  • type: 操作类型,当前支持 songplaylist,分别表示获取歌曲和播放列表。如果不指定,默认为 song,其他非数字值将直接报错。
  • id: 一串数字,即当前操作类型的数据编号,可以使用 --id 进行指定,支持直接使用具体的链接如 https://music.163.com/song?id=32807209,将会截取 id= 后面的内容作为标识符
  • options: 其他选项
    • options.force 强制拉取新数据
    • options.list playlist 模式下逐个获取歌曲信息,该操作有风险,频繁操作会导致网易云封禁爬取,故此设置了一个默认延时,但效率不高

Config

  1. title: xovel/nmr
  2. style: true
  3. script: true
  4. marked: true
  5. github: true
  6. player:
  7. mini: false
  • title,指定页面的标题。
  • style,使用行内样式,如果不指定,则样式将会单独放置到 ./style/index.css 文件中。
  • script,使用行内脚本,如果不指定,则脚本将会单独放置到 ./js/index.css 文件中。
  • marked,推荐简介部分是否采用 marked 进行解析。
  • github,右上角添加 GitHub 项目地址访问入口。
  • player.mini,使用小型的播放器。

Files

  1. ├─audios/ # 备用文件夹,存放音频源文件。
  2. ├─cache/ # 缓存 HTML 页面。
  3. ├─docs/ # GitHub Pages
  4. ├─pieces/ # 歌曲关键信息片段
  5. ├─scripts/ #
  6. └─index.js # 页面脚本
  7. ├─sources/ # 推荐歌曲源
  8. ├─0/ #
  9. └─eld.yml #
  10. └─2019/ #
  11. ├─1.yml #
  12. ├─2.yml #
  13. └─3.yml #
  14. ├─styles/ # 样式
  15. ├─index.css # 核心样式
  16. ├─listen.css # 试听样式
  17. └─reset.css # 全局重置样式
  18. ├─templates/ # 模板
  19. ├─layout/ #
  20. ├─core.pug # 核心模板
  21. ├─github.pug # 右上角 GitHub 入口
  22. └─head.pug # head 标签内的内容
  23. └─index.pug # 主页
  24. ├─.eslintrc.yml #
  25. ├─.gitignore #
  26. ├─.npmrc #
  27. ├─BACKGROUND.md # 背景简介
  28. ├─build.js # 构建页面
  29. ├─favicon.ico # 站点的 favicon 图标
  30. ├─fetch.js # 拉取歌曲信息
  31. ├─LICENSE #
  32. ├─package.json #
  33. ├─README.md #
  34. ├─scaffold.yml # 歌曲的一个简单样板
  35. └─_config.yml # 配置文件

Dependencies

  1. ...
  2. "devDependencies": {
  3. "cheerio": "^1.0.0-rc.3",
  4. "clean-css": "^4.2.1",
  5. "js-yaml": "^3.13.1",
  6. "marked": "^0.6.2",
  7. "psargv": "0.0.1",
  8. "pug": "^2.0.3",
  9. "uglify-js": "^3.5.15"
  10. }
  11. ...
  • cheerio,用于解析网页源码。
  • clean-css,压缩 CSS。
  • js-yaml,加载 YAML 文件。
  • marked,解析 markdown。
  • psargv,解析命令行参数。
  • pug,编译 HTML。
  • uglify-js,压缩 JS。

License

MIT