音频下载网站源码-Python爬虫下载喜马拉雅音频文件

阅读正文大约需要5分钟

学习是一个长期的过程。 学习的方法有很多种。 如果家里有空闲时间,可以选择读书。 现在在手机上阅读电子书也很方便。 pk哥最近看了不少电子书,感觉自己的视力明显提高了。 停下来不学习是不可能的。 我想到通过听来学习。 如今,各个平台上都有相当多的音频文件。 您可能听说过更多的平台是喜马拉雅。 明天我将使用Python通过输入关键字查询喜马拉雅音频并下载并保存到本地。

保持疗效

我通过关键词“腾讯”搜索到了6张音频专辑。 以下是其中一张专辑中的 7 个音频文件。

项目环境

音频下载网站源码-Python爬虫下载喜马拉雅音频文件

语言:Python3

编辑:Pycharm

程序结构

方案主要由四部分组成:

页面分析

我们想要下载音频文件。 首先我们必须找到下载音频的网址。 我们打开浏览器自带的调试工具(我用的是Chrome)。 通过快捷键F12可以快速打开调试工具。 调试器切换到网络。 我以最近刚看完的《腾讯故事》为例。 我点击了专辑封面中间的播放按钮。 专辑中的音频信息均为json格式数据。 总共有7个音频文件。

音频下载网站源码-Python爬虫下载喜马拉雅音频文件

任意扩展音频的详细信息。 详细信息包括音频文件的标题和下载链接。 找到音频的下载链接后,您就可以下载音频。 剩下的工作就是围绕如何获取音频文件的下载链接展开。

获取页面源代码

我们首先定义一个函数来获取页面的html信息。 该函数中添加了浏览器标头信息。 出于安全原因,使用代理 IP。 如果您有兴趣,可以制作自己的IP代理池,并在IP过期后手动更换。

获取专辑信息

接下来我们需要获取专辑ID,因为音频下载链接是通过专辑ID拼接而成的。 让我们看一下仅包含音频文件名和下载链接信息的标头。 我们可以看到相册链接中的albumId是相册ID,下一个是相册ID。 指示当前页码以及该页中存储的最大音频数。

通过关键字搜索到的信息中包含专辑的ID信息。

使用BeautifulSoup从页面中提取相册ID信息,同时提取相册标题信息,作为后面创建的相册目录的名称。 主要代码如下。

获取页数

音频下载网站源码-Python爬虫下载喜马拉雅音频文件

里面的方法就是获取相册ID信息。 接下来,我们需要知道相册下共享了多少页音频文件。 我们通过从总音量中减去 30 来得到页数。 关于音频总量的信息位于音频文件列表中的数据上。 右图中,我以音频文件数量比较多的《明朝这些事》为例,总共有268个音频文件。

有了音频总数,每页的音频数为30,因此我们可以计算出页数,分为三种情况:总数大于等于30、总数小于30、 30的倍数,总数小于30且不是30的倍数。相关代码如下。

下载音频文件

专辑ID、专辑名称、页码都在那里,你可以下载音频文件。 下载音频时,如果音频少于30条,需要进行异常处理。 当音频文件是付费文件时,很难下载。 这时候就做出判断了。 当音频下载链接为null或None时音频下载网站源码,跳出循环,抓取下一个专辑文件。

音频下载网站源码-Python爬虫下载喜马拉雅音频文件

当音频下载链接为空或无时,这里以“明天的事情”为例。 其中一张专辑的音频文件通过关键词“明天的这些事”爬取,一共只爬取了50个,但之前的音频文件都没有提供下载链接,所以很难下载。

创建一个目录来存储音频

为了将下载的音频文件有序存放在以专辑名命名的文件夹中,我们使用代码手动创建一个目录,并将对应的文件下载到该目录中。

杂项笔记

本文的目的是在本地下载喜马拉雅山的免费音频并传输到手机上,以便您在保护视力的同时随时学习。 其实流量足够的也可以在APP上在线收听。

本项目是通过输入关键词来搜索音频专辑下载。 如果某些关键词与音频不对应,系统会向您推荐音频。 因此音频下载网站源码,为了提高您的效率,在运行代码之前,请在喜马拉雅网站上输入它。 您需要搜索关键字查看是否有相关音频,如果有则运行代码。 通常更流行的音频专辑排名靠前。 下载您需要的音频专辑后,您无需停止运行旁边专辑的代码。

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悟空资源网 网站源码 音频下载网站源码-Python爬虫下载喜马拉雅音频文件 https://www.wkzy.net/game/196097.html

常见问题

相关文章

官方客服团队

为您解决烦忧 - 24小时在线 专业服务