Python之——爬取千千静听(百度音乐)歌曲

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/l1028386804/article/details/102699931

还是直接上代码吧:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# -*- coding: gbk -*-
# Date: 2019/7/15
# Created by 冰河
# Description 
# 博客 https://blog.csdn.net/l1028386804

import requests
import pprint
import json

#千千静听——百度音乐接口使用
class Spider(object):
    def get_xml(self):
   	songid='921373'
        #获取songlink的接口
        url='http://ting.baidu.com/data/music/links?songIds={songids}&type=mp3'.format(songids=songid)
        res=requests.get(url,timeout=30).text
        self.parse_data(res)

    def parse_data(self,res):
        #json数列反序列化,将json数据转换为python对象-字典
        json_data=json.loads(res)
        #通过字典的键取相应的值
        songlist=json_data['data']['songList'][0]
        #歌曲名字
        songname=songlist['songName']
        #歌曲下载链接
        songlink=songlist['songLink']
        print('正在下载 {} \n{}'.format(songname,songlink))
        text=requests.get(songlink)
        file_name=songname+".mp3"
        print(songname,'下载成功'  )
        self.save(file_name,text)
    def save(self,file_name,text):
        with open(file_name,'wb') as f:
            f.write(text.content)




spider=Spider()
spider.get_xml()

猜你喜欢

转载自blog.csdn.net/l1028386804/article/details/102699931