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