• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

Python爬虫之批量下载喜马拉雅音频

python 搞代码 4年前 (2022-01-08) 29次浏览 已收录 0个评论
文章目录[隐藏]

今天教大家如何利用Python爬虫批量下载喜马拉雅音频,文中有非常详细的代码示例,对正在学习python的小伙伴们很有帮助,需要的朋友可以参考下

一、解析网站

1.1 获取音频地址

在喜马拉雅网站上,随便点开一个音频,打开“开发者工具”,再点击播放按钮,可以看到出现了多个请求:

经过排查,发现可疑url:

查看它的响应信息,发现音频地址就在里面:

接下来,解析这个返回音频地址的url:

 https://www.ximalaya.com/revision/play/v1/audio?id=348451879&ptype=1

发现url中的id参数就决定了返回的音频地址,而id参数是音频的id号。

1.2 解析专栏网页

我们已经知道了获取音频url的网址,接下来要获取一个专栏内的音频id和名称,打开一个专栏,发现:

所有的音频存放在class为1F_的li标签中,再来解析li标签:

在li标签中的第一个a标签存储着我们所有需要的数据,妙~啊!

1.3 整理亿下思路

思路:

1.获取专栏内的li标签

2.获取li标签里的第一个a标签

3.读取a标签的title和href属性

4.将href解析成音频id

5.将id带入url请求音频源地址

6.提来源[email protected]搞@^&代*@码)网取音频源地址

7.请求音频源地址

8.保存音频(文件名为a的title属性)

思路整理完了,开始编写代码。

二、编写爬取代码

代码奉上――

 import requests from fake_useragent import UserAgent as ua from bs4 import BeautifulSoup as bs # 专栏地址 music_list_url = 'https://www.ximalaya.com/ertongjiaoyu/19702607/' # 获取音频地址的url get_link_url = "https://www.ximalaya.com/revision/play/v1/audio" # UA伪装 headers = { "User-Agent": ua().random } # 参数 params = { "id": None,    # id先设为None "ptype": "1", } # 获取专栏HTML源码 music_list_r = requests.get(music_list_url, headers=headers) # 解析 获取所有li标签 soup = bs(music_list_r.text, "lxml") li = soup.find_all("li", {"class": "lF_"}) # for循序遍历处理 for i in li: a = i.find("a")   # 找到a标签 # 获取href属性 # split("/")将字符串以"/"作为分隔符 从右往左数第一项是id号 music_id = a.get("href").split("/")[-1] # 获取title属性 和“.m4a”拼接成文件名 music_name = a.get("title") + ".m4a" # 修改请求参数id params['id'] = music_id # 获得音频源地址 r = requests.get(get_link_url, headers=headers, params=params) link = r.json()['data']['src'] # 获取音频文件并保存 music_file = requests.get(link).content with open(music_name, "wb") as f: f.write(music_file) print("下载完毕!") 

运行代码,等待亿会(真的要等亿会),可以看到当前目录下已经出现了音频文件,如图:

以上就是Python爬虫之批量下载喜马拉雅音频的详细内容,更多请关注gaodaima搞代码网其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Python爬虫之批量下载喜马拉雅音频

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址