使用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
效果: