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