网页音频抓取( 如何研究喜马拉雅FM的请求方式?下载器怎么做? )
优采云 发布时间: 2022-04-10 13:31网页音频抓取(
如何研究喜马拉雅FM的请求方式?下载器怎么做?
)
Java爬取喜马拉雅非付费音频
内容
前言
因为很喜欢喜马拉雅FM上的音频节目,之前也找过一些喜马拉雅音频下载器。可能是网站调整的原因,有的下载器慢慢有问题,估计有些地址无法解析,于是想到研究喜马拉雅FM的请求方法,用java模拟请求,和做一个我自己的小。玩的工具。
下面开始研究喜马拉雅FM的请求方法吧!
1 打开 Himalaya网站 并搜索节目
喜马拉雅调频
下面是一个我喜欢的程序的例子,以“首席医疗官”为例
2 研究其数据源并获取分页数据
打开浏览器控制台,清除网络下的日志
点击任意页面查看网络下的日志
从上面两张图可以看出,分页后的数据来自于请求:
解析返回的json数据可以得到分页信息
3 获取列表信息
在上面的控制台中,还有一个查看列表信息的请求
每个音频的基本信息可以从上面的请求中获取
4 获取音频下载地址
清除浏览器控制台,点击任意音频,查看网络地址
从这个请求中,我们也可以得到列表信息和音频的下载地址
5 核心代码
Java实现爬取喜马拉雅音频文件(非付费)
代码是最基础的,以后有时间会优化,比如增加多线程下载、图形界面、断点续传等。有兴趣的童鞋欢迎博客或GitHub评论^_^
有时间可以尝试做一个前端版本,使用ajax请求自己设计页面,这相当于做一个喜马拉雅FM免费音频的搜索引擎,直接在浏览器搜索下载^_^,然后一起分享~
6 基本用途
主要功能如下
public static void main(String[] args){
//初始化音频列表,修改专辑ID便可下载该专辑的音频内容(非付费)
AudioBean audioBean = AudioDealUtil.initBean(
"https://www.ximalaya.com/revision/album",
"albumId=3071659");
//修改下载路径
AudioDealUtil.initDownloadAudio("https://www.ximalaya.com/revision/play/album",
audioBean,
"D://download//");
}
只需更改专辑ID和本地路径即可下载音频~