python喜马拉雅收费_python抓取喜马拉雅免费专辑
老規矩,先上代碼
import requests
import os
import urllib
# json文件地址
json_url = "https://www.ximalaya.com/sets/8912476.ext.json"
# 仿冒Chrome瀏覽器進行訪問,否則會無法訪問
headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36'}
response = requests.get(json_url, headers=headers)
# 獲取json文件
full_json = response.json()
# 找到所有的聲音
tracks = full_json['tracks']
# 創建下載文件夾
if not os.path.exists('download'):
os.makedirs('download')
# 逐個下載
for track in tracks:
# 獲取json中的下載地址和標題
url = track['play_url']
title = track['title']
# 用標題作為文件名
filename = "download/"+title+".mp3"
# 下載
with urllib.request.urlopen(url) as web:
with open(filename, 'wb+') as outfile:
outfile.write(web.read())
# 輸出下載結果
print(title," downloaded.")
print('Download is done.')
這次的抓取是順著上一篇,上一次在抓取iTunes的時候看到有些音頻的源是來自喜馬拉雅的,所以,我順便去喜馬拉雅轉了一下。
每一個喜馬拉雅的專輯,例如:郭德綱21年相聲精選,都會有一個分享鏈接,點開后,選擇“展開獲取專輯鏈接”,這時候會有“html代碼”、“通用代碼”和“微電臺”三個選項,選擇html代碼,并復制鏈接:https://www.ximalaya.com/thirdparty/player/album/player.html?id=9723091&type=red。
把上面的HTML代碼的地址復制到瀏覽器中打開,并使用瀏覽器的開發者工具跟蹤網絡情況,會發現一個xhr里面包含該專輯所有的音頻信息,地址為https://www.ximalaya.com/sets/9723091.ext.json,只需要分析該json的字段就可以抓緊了。
python代碼沒有什么難度。
路人:“禪師,喜馬拉雅上面這些免費資源隨時可以收聽,流量也不算大,為什么還要下載呢?”
禪師微微一笑,指著面前一把木錘對路人道:“看看它你就明白了。”
路人參詳許久,若有所思道:“大師的意思是否是說,下載的意義就像這把木錘一樣,看似平淡無奇,但是有一種工匠精神?”
大師閉上眼睛道:“非也!我意思是,我下載關你錘子事。”
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的python喜马拉雅收费_python抓取喜马拉雅免费专辑的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 增值税发票和普通发票有什么区别 有以下四
- 下一篇: python队列是线程安全的吗_pyth