零基础学Python-爬虫-5、下载音频
生活随笔
收集整理的這篇文章主要介紹了
零基础学Python-爬虫-5、下载音频
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
本套課程正式進入Python爬蟲階段,具體章節根據實際發布決定,可點擊【python爬蟲】分類專欄進行倒序觀看:
【重點提示:請勿爬取有害他人或國家利益的內容,此課程雖可爬取互聯網任意內容,但無任何收益,只為大家學習分享。】
開發環境:【Win10】
開發工具:【Visual Studio 2019】
Python版本:【3.7】
總是版權問題,我就盡量刪掉網站上的截圖了,主要內容都在編碼中。
目標:【更多-->音樂-->音樂頁面】
1、查找目標位置:
?
播放的路徑:【https://audio04.dmhmusic.com/71_53_T10049727031_128_4_1_0_sdk-cpm/cn/0208/M00/9C/D5/ChR47F0u0WCAGK0BAHsyIZRAuzg486.mp3?xcode=986ee76b251cf5ea7c25506b1e42484eca69d0d】
查看訪問路徑與需要參數:
2、解析路徑,獲取一個音樂集合的路徑:
?
3、解析獲取id與title
import requests import uuid import random import time #可更換參數:tab={}&num={}我這里不多下載,10個就可以了。 url ="https://music.taihe.com/v1/song/info?sign=03f0d20475fe5fb6c669c50fb92778b5&appid=16073360&TSID=T10049727031%2CT10049726992%2CT10038911463%2CT10039002156%2CT10038856674%2CT10038856669%2CT10038926584%2CT10038926593%2CT10038992003%2CT10038992010%2CT10054620501%2CT10038818736%2CT10057229599%2CT10055694882%2CT10057217243%2CT10056317505%2CT10056970485%2CT10056970489%2CT10057218352%2CT10038929666%2CT10038902299%2CT10038928529%2CT10054168932%2CT10038980134%2CT10038980150%2CT10038818871%2CT10038859760%2CT10038859749%2CT10041237453%2CT10038833747%2CT10038873333%2CT10040588990%2CT10038992597×tamp=1613374105" headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.104 Safari/537.36'} resp = requests.get(url, headers=headers) resp_json = resp.json() data_list = resp_json['data'] lst=[] for x in data_list:print(x['id'])print(x['title'])一共32個地址,一會看能下載多少音樂。
4、拼接單個音樂鏈接地址與下載音樂:
import requests import uuid import random import time #可更換參數:tab={}&num={}我這里不多下載,10個就可以了。 url ="https://music.taihe.com/v1/song/info?sign=03f0d20475fe5fb6c669c50fb92778b5&appid=16073360&TSID=T10049727031%2CT10049726992%2CT10038911463%2CT10039002156%2CT10038856674%2CT10038856669%2CT10038926584%2CT10038926593%2CT10038992003%2CT10038992010%2CT10054620501%2CT10038818736%2CT10057229599%2CT10055694882%2CT10057217243%2CT10056317505%2CT10056970485%2CT10056970489%2CT10057218352%2CT10038929666%2CT10038902299%2CT10038928529%2CT10054168932%2CT10038980134%2CT10038980150%2CT10038818871%2CT10038859760%2CT10038859749%2CT10041237453%2CT10038833747%2CT10038873333%2CT10040588990%2CT10038992597×tamp=1613374105" headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.104 Safari/537.36'} resp = requests.get(url, headers=headers) resp_json = resp.json() data_list = resp_json['data'] lst=[] for x in data_list:lst.append({"id":x["id"],"title":x["title"]})#以下為存儲過程 # 遍歷列表存儲所有圖片 for item in lst:# 發送請求try:musicUrlBase=str.format("https://music.taihe.com/v1/song/tracklink?sign=14bcbe5b209a984dac25dad3b96c6dfb&appid=16073360&TSID={0}×tamp=1613374106",item["id"]);resp1=requests.get(musicUrlBase)resp_json1 = resp1.json()pic= requests.get(resp_json1["data"]["path"], timeout=100)except:print ('錯誤:當前音樂無法下載')continue# uuid4為圖片名稱#,創建img文件夾, wb+:寫入二進制數據file=open(str.format("{0}.mp3",item["title"]), 'wb+')file.write(pic.content)file.close()print(item["title"],"下載完畢")#每次操作完休息1~3stimeStop=random.randint(1,4)time.sleep(timeStop) print("完成")5、音樂播放測試:
6、總結:
a)、下載過程中有無法下載的音樂,沒有具體測試原因。
b)、可以試試其它網站,因為百度大家都知曉,我就用這個測試了。其它的也就是第一步麻煩一些,找吧,找吧,習慣就好了。
歡迎【點贊】、【評論】、【關注】、【收藏】、【打賞】,為推廣知識貢獻力量。
【小說、圖片、視頻、音樂】都爬取完畢了,python爬蟲的課程也就到此結束了。圖形化頁面沒什么實際意義,我就不做編輯了,晚上我弄個基礎環境畫個?,畫朵花僅供欣賞。
總結
以上是生活随笔為你收集整理的零基础学Python-爬虫-5、下载音频的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 零基础学Python-爬虫-5、下载网络
- 下一篇: Java 地下迷宫·算法·(ACM/蓝桥