使用python进行爬虫下载网易云音乐

使用python进行爬虫(其实我最想知道的是怎么知道这个api地址的)

# -*- coding:utf-8 -*-
# Python 2.7 
import urllib2
import urllib
import json

mv_id='4395559' #网易云音乐地址后面的id

url = "http://music.163.com/api/playlist/detail?id="+mv_id  #对应网易云音乐地址 :http://music.163.com/#/discover/toplist?id=4395559
timeout=30 #设置超时时间
headers={
    'User-Agent' : 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.106 Safari/537.36',
    'Accept':'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8'
}
req = urllib2.Request(url,None,headers) #添加请求报文头
res = urllib2.urlopen(req,None,timeout) #执行请求
html = res.read() #接收到的数据为str => str转json :json.loads(str)
musicList = json.loads(html)['result']['tracks'] #将str转json进行获取详细数据
for i in range(10): #循环遍历的数量 10 条数据
    name = str(i+1)+' '+musicList[i]['name']+'.mp3'
    link = musicList[i]['mp3Url'] #音乐下载地址
    urllib.urlretrieve(link,'aaa\\'+name) # aaa\\为根目录下面的地址,需要自己建立
    print (name+' success!')

print musicList

效果:

posted @ 2017-03-31 16:04  my_paradise  阅读(1052)  评论(0编辑  收藏  举报