Python爬蟲從入門到放棄 09 | Python爬蟲實戰–下載網易雲音樂

此博客僅爲我業餘記錄文章所用,發佈到此,僅供網友閱讀參考,如有侵權,請通知我,我會刪掉。
本文章純野生,無任何借鑑他人文章及抄襲等。堅持原創!!

前言

你好。這裏是Python爬蟲從入門到放棄系列文章。我是SunriseCai。

注:這是三月份的博文。

文章配套了視頻,結合視頻食用,味道更佳。點擊直達!


本文章主要介紹利用爬蟲程序調用API去 下載 網易雲音樂的歌曲 。

1. 文章思路

看看網易雲音樂網站,如下多圖所示:

  • 首頁(一級頁面)
    在這裏插入圖片描述
  • 搜索頁面(這裏搜索 東方之珠
  • 然後點擊第一首歌曲
    在這裏插入圖片描述
  • 播放頁面(注意鏈接裏邊有一個id,劃重點!!!)
  • 看到播放頁面,捕捉到了多個m4a格式的數據包,不清楚m4a是什麼沒有關係,下面會介紹到它,這裏先訪問一波它的URL
    在這裏插入圖片描述
  • 訪問m4aURL,來到下面的頁面
  • 該頁面 是東方之珠 該歌曲的播放頁面,同時也是下載頁面。
    在這裏插入圖片描述

既然知道了是m4a數據包的URL可以下載歌曲,那接下來就是去分析URL了。

但是!!!這裏咱們就不去分析URL,因爲咱們這裏定位的是入門,所以,簡單就完事了。有更方便快捷的方法,是什麼呢?請往下看。


  • 百度百科釋義上面提到的m4a
    在這裏插入圖片描述

2. 調用網易雲音樂API

  • 看看其他歌曲的播放頁面。
  • 這首Yellow也有對應的id
    在這裏插入圖片描述

得知網易雲音樂的歌曲都有着對應的id,很好,接下來看看如何利用這個id去下載對應的音樂。

這裏網易雲音樂API隆重登場。

http://music.163.com/song/media/outer/url?id=

API的使用很簡單,只需要填入歌曲的id即可使用,先看示例:

  • 下圖是在API裏邊填入歌曲id,然後用瀏覽器訪問的樣子。
    在這裏插入圖片描述

代碼示例:
在這裏插入圖片描述
執行代碼後的樣子:
在這裏插入圖片描述

3. 代碼部分

# -*- coding:utf-8 -*-
# author   : SunriseCai
# datetime : 2020/3/27 17:08
# software : PyCharm


"""網易雲音樂下載程序"""


import requests


class DownloadMusic(object):
    def __init__(self):
        self.song_url = 'http://music.163.com/song/media/outer/url?id={}'
        self.headers = {
            'user-agent': 'Mozilla5.0'
        }

    def get_song_url(self, song_id):
        """
        傳入歌曲id,拼湊完整URL,然後調用下載音樂函數
        :param song_id: 歌曲id
        :return: 
        """
        url = self.song_url.format(song_id)
        self.download_music(url)

    def download_music(self, song_url):
        """
        接受歌曲URL,執行下載函數
        :param song_url: 歌曲URL
        :return: 
        """
        resp = requests.get(url=song_url)
        with open('Yellow.mp3', 'wb') as f:
            f.write(resp.content)

    def main(self):
        """
        主函數
        :return: 
        """
        self.get_song_url('1413502053')


if __name__ == '__main__':
    spider = DownloadMusic()
    spider.main()

Github上大神的創建的音樂API項目 ,感興趣的可以去了解。
在這裏插入圖片描述

文章問題:

  • 本篇文章很水,因爲是入門,所以真的很水。就是水字數水文章數量的。爲了湊數量而寫。
  • 建議各位通過複製黏貼代碼去執行一番,有任何疑問請先自己動手解決,盡信書則不如無書
  • 實在解決不了可以一起交流。

待改進:


最後來總結一下本章的內容:

  1. 介紹了調用API去下載網易雲音樂的爬蟲思路
  2. 代碼展示

sunrisecai

  • 感謝你的耐心觀看,點關注,不迷路。
  • 爲方便菜雞互啄,歡迎加入QQ羣組織:648696280

下一篇文章,名爲 《Python爬蟲從入門到放棄 10 | Python爬蟲實戰–下載bilibili在線列表視頻》

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章