python对gevent感兴趣的朋友可以看看,有兴趣的同学可以自动爬歌。
这个下载是半手动的(需要自己输音乐的ID并且提供命名),因为办了QQ绿钻会员,不想再办网易的,纯粹自己用着方便
比较局限的是只能下载本身可以听的歌,会员才能听的文件下载不了。(网易现在歌曲即使可以听,下载也是需要会员的,这个方法可以避开因此而充值会员)
音乐ID,复制右键歌曲,复制网页链接即可获得:)
比如这个:http://music.163.com/#/m/song?id=29431062
就是一串数字,然后运行文件(在终端或者任何可以运行.py文件的环境都可以),把数字输入,再输入文件名即可
import gevent
import urllib.request
from gevent import monkey
monkey.patch_all()
def download_img(img_url, img_name):
try:
img = urllib.request.urlopen(img_url)
with open(img_name, 'wb') as file:
while True:
img_data = img.read(1024)
if img_data:
file.write(img_data)
else:
break
except Exception as e:
print('下载失败', e)
else:
print('下载成功', img_name)
if __name__ == '__main__':
id = input('请输入音乐ID: ')
img_url1 = 'http://music.163.com/song/media/outer/url?id='+ id +'.mp3'
name = input('请输入文件名字:')
# 没搞服务器,不能查歌后自动抓ID匹配,小工具,凑合用
g1 = gevent.spawn(download_img, img_url1, name+'.mp3')
g1.join()
PS:只能爬大众资源,网易做了版权保护的格式搞不来,改天研究一下转码方式