文的文字及图片来源于网络,仅供学习、交流使用,不具备任何商业用途,版权归原做者全部,若有问题请及时联系咱们以做处理。python
PS:若有须要Python学习资料的小伙伴能够加点击下方连接自行获取json
http://note.youdao.com/noteshare?id=3054cce4add8a909e784ad934f956cef浏览器
喜马拉雅FM是专业的音频分享平台,聚集了有声小说,有声读物,有声书, 儿童睡前故事,相声小品,鬼故事等数亿条音频。 今天咱们一块儿学习如何采集喜马拉雅的音频。随时随地,听我想听。网络
版 本:anaconda5.2.0(python3.6.5)编辑器
编辑器:pycharm学习
相关模块:url
import requests
import pprint
import re
import requests import pprint import re """批量下载 找到规律""" # 块注释 """使用接口 传入音频的id 获取音频的下载地址""" headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36' } def download_media(song_id, sond_name): # 选择 tab shift+tab撤销缩进 """根据songid name""" media_url = 'https://www.ximalaya.com/revision/play/v1/audio?id=' + song_id + '&ptype=1' # 伪造浏览器的身份 response = requests.get(media_url, headers=headers) # 我是python请求的 # print(response.request.headers) # 字典类型 data = response.json() # print(data) # pprint.pprint(data) # 格式化打印 漂亮的数据 只要会用就好了 # pprint.pprint(data['data']) mp3_url = data['data']['src'] # 视频 音频 图片 二进制 须要解码吗? response = requests.get(mp3_url) # text 文字 content # print(response) with open(sond_name + '.m4a', 'wb') as f: f.write(response.content) print(sond_name, '下载完毕') # sond_name = '女神的贴身高手 第10集 真正的高手' # song_id = '98944395' # download_media(song_id, sond_name) for i in range(1, 32): response = requests.get('https://www.ximalaya.com/youshengshu/16411402/p'+str(i)+'/', headers=headers) # print(response.text) name_url = re.findall('<div class="text _c2"><a title="(.*?)" href="/youshengshu/16411402/(\d+)">', response.text) for i in name_url: print(i[0], i[1]) download_media(i[1], i[0])