为在线无损音乐下载网站做了个简单爬虫,有需要的拿去用吧,nodejs

  • b
    brook
    目前设定是只爬指定歌手的flac,按歌手和专辑名字保存在当前目录下
    node >= 10.12

    用法:
    npm install
    npm start

    在运行之前打开index.js改改参数

    qq-动画图像(小).gif
    屏幕快照 2019-08-23 17.49.25.png

    更换新接口
    qqmusic.v1.1.zip(2.94 KB)

    20190824
    更新1.2
    猜测可能出现的大部分错误都是路径导致的,因为个别歌曲歌手专辑名称里包含/这类特殊字符,统统替换成dot,专辑不仅这样,空格也替换成dot
    根据个人喜好可以自行修改 buildPath 和 loveIt
    qqmusic.v1.2.zip(3.04 KB)

    20190825
    再更一下 1.3
    这次增加了交互式,不用文科同学改代码了,接口限制,一次只能搜出两个歌手名字,汉字拼音都行,看动图吧
    用之前别忘了再 npm install 一下
    屏幕录制 2019-08-25 00.18.12-动画图像(大).gif
    qqmusic.v1.3.zip(3.59 KB)

    20190826
    再更 1.4
    增加专辑选择功能

    qqmusic.v1.4.zip(3.85 KB)

    0828
    v1.4.1 优化存储地址名称
    qqmusic.v1.4.1.zip(3.85 KB)
  • 大公知
    看不懂。围观一下。
  • l
    lanter11
    好像很厉害的样子 iOS fly ~
  • s
    snopyboy
    这个怎么用?
  • s
    socode
    看起来很流弊的样子紫薯布丁
  • 档的生日
    也么用?
  • 懒散的牛
    牛逼。真神器。 ios fly~
  • b
    brook
    需要有nodejs运行环境,全平台,按需下载安装
    https://nodejs.org/en/download/

    如果你是mac,brew install nodejs 就可以了
  • v
    vision426
    厉害,node对比python爬虫scrapy有什么优势? iOS fly ~
  • i
    immi
    厉害,马克一下 iOS fly ~
  • x
    xRAIN
    http://music.ghpym.com/这个网站挂了

    抱歉,请联系机房域名过白
    Sorry,the site now can not be accessed.
    网站可能因以下原因之一而导致无法访问:
    域名未备案、网站过期被系统关闭.
    请联系机房客服.
  • b
    brook
    scrapy只是一个库而已,nodejs也有类似的第三方支持,平时不玩爬虫所以对这个比了解。

    个人对python也不感冒,主要是受不了它的对缩紧语法
  • b
    brook
    回复12#xRAIN


    换新接口了
  • s
    saudi
    这个mark学习
  • m
    moyaya
    好用,谢谢
  • 疑似狼
    张学友好好用 我想改许巍怎么改?
  • l
    lennon0071
    马克🐴
  • j
    jiang_iori
    牛逼 iOS fly ~
  • b
    brook
    index.js 最底下,keyword = '张学友' 替换掉
  • l
    leichangxu
    回复12#xRAIN


    1. https://music.ghpym.com/
    复制代码
  • b
    brook
    搜不出来是因为我把keyword当歌手名字强制过滤了

    把161-163行,替换成 return true 就可以了
  • u
    usdfb
    很好很好很好
  • m
    maxrim
    mark,tks
  • l
    l32606
    学习了。mark爬虫
  • s
    stevenflp
    马克 iOS fly ~
  • s
    shehzb
    马克爬虫无损音乐
  • t
    taylor380
    马克 iOS fly ~
  • a
    ankaola
    好像好厉害
  • w
    waterguo
    感谢楼主
  • b
    buaagangzi
    厉害了
  • s
    shooirn
    路过学习一下,是否页面内容都能爬?
  • x
    xuxin
    mark一下小尾巴~
  • c
    cooliscool
    回复31#yiutyi
    Mark一下 iOS fly ~
  • l
    leilei350
    马克无损音乐
  • t
    test100
    马克,这么牛
  • e
    earthwq
    爬下来的是真无损吗,网上下载的很多完全听不下去
  • z
    ziang
    马克下。
  • b
    buhaozhuce


    搞 好了
    下载平台,安装
    下附件,附件的解压,弄到一个简单的路径,我弄到G:\
    进NODE的那个黑的程序,圈中的
    像DOS一样进到所在的目录
    改歌手名字
    然后输入 那2行代码

    然后就行,甚好
  • e
    earthwq
    用SPEK看了下,很多不是真无损的,楼主能否换个网站
  • w
    wxh5
    TIM图片20190824102007.png求楼主救命!!生成一个文件夹后,无法删除了
  • s
    syf_alan
    改完歌手后 是不是每次都要 npm install
    npm start?
  • b
    brook
    感谢楼上即为帮助解答和给出教程。
    东西很简单,根据自己喜好修改代码吧

    小更一下
  • 花菊
    mark iOS fly ~
  • a
    aaronz
    马克,测试可行。感谢。
  • k
    klizet
    1. ⠹ 010 忘记你我做不到 张学友(node:52673) UnhandledPromiseRejectionWarning: Error: connect ETIMEDOUT 113.96.133.26:80
    2. at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1106:14)
    3. (node:52673) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 3)
    4. (node:52673) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
    复制代码
    请教一下,这是对方网站的锅吗?
  • e
    elisha
    赞!!非常好用
  • b
    brook
    回复51#klizet

    这是超时了,有可能对方网站暂时访问不了,也可能网速太慢,你把timeout设的长一点试试
  • 一叶扁舟
    对于文科生感觉不太好理解啊,马住,慢慢学习
  • b
    bobopopo
    马克。。。