大数据挖掘—(十一):爬取音乐,并保存到本地

当你听音乐时,想要下载下来,慢慢听,谁知需要VIP,是不是有一万只某羊的名字在你脑海里狂闪,我们本期就简单介绍一下如何下载网易云的音乐

打开网易云的网页版,你可以看到网页上面的很多音乐,右击检查可以很清楚的看到某个音乐的ID,有了这个ID,就可以下载你想要的音乐了

比如最近抖音上很火的沙漠骆驼 id=486814412

如何爬取音乐的ID,这个通过往期的文章分享,大家很容易的可以爬取到,有了这个ID,我们就可以来 写我们的爬虫了

关于爬取ID的代码不在本期分享了,大家可以参考往期的文章爬取校花本期代码与校花爬取几乎完全一样

class Powerspipeline_music(object):
 def process_item(self, item, spider):
 headers = {
 'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.101 Safari/537.36'}
 if isinstance(item, PowersItem_music):
#请求网页
 req = urllib.request.Request(url=item['address'], headers=headers)
#打开网页
 res = urllib.request.urlopen(req)
#保存音乐,并修改音乐的名字
 file_name = os.path.join(r'D:foxtable\music', item['name'] + '.mp3')
 with open(file_name, 'wb') as fp:
 fp.write(res.read())#保存music
 else:
 print('no find items')
 return item

保存音乐的代码与保存图片的代码几乎完全一致,但是item里面的address是:

address="http://music.163.com/song/media/outer/url?id={}.mp3".format(id)

format里面的ID就是爬取的ID,有了这个完整的music网址,就可以保存音乐下来了。

下期分享:

关于scrapy的分享,我们就告一段落了,有了爬虫的操作,我们就距离大数据近了一步,毕竟大数据的来源数据需要我们爬取的,后期我们会继续分享一下关于大数据方面的python应用