为方便收听,对免费的喜马拉雅音频,我选择将文件下载到本地,在 Android 手机中,借助 ES 文件浏览器进行批量重命名,只能简单的以书名 + 列表的方式排列,如

心理学与生活001.m4a
心理学与生活002.m4a
心理学与生活003.m4a
心理学与生活004.m4a
心理学与生活005.m4a
……
心理学与生活272.m4a

有没有什么办法将喜马拉雅完整的文件名赋予本地文件呢?

很幸运我找到了 rename_py 这个工具:

https://github.com/mengzonefire/rename_py

Python 脚本的使用方法见官方文档,在 macOS 中,如果报 locale 错误,可以尝试运行:

import locale

locale.getdefaultlocale()

如果能正常输出 zh-CN.UTF-8 ,可直接注释第64行,之后就能正常生成 list.txt 。

如果还有其它错误,根据出错提示解决。

下一步就获取喜马拉雅的文件标题,这里注入 jQuery,在控制台输出:

function needJS(d,f,g){g=g||function(){};if(d){return g(false)}var a=window.__needJS__||(window.__needJS__=[]);var b=a[f]||(a[f]={loaded:false,callbacks:[]});if(b.loaded){return g(false)}var c=b.callbacks;if(c.push(g)==1){var e=document.createElement("script");e.onload=e.onreadystatechange=function(){var h=e.readyState;if(h&&h!="loaded"&&h!="complete"){return}b.loaded=true;for(var j=0;j<c.length;j++){c[j](true)}};e.src=f;document.getElementsByTagName("head")[0].appendChild(e)}}needJS(window.jQuery,"//www1.pconline.com.cn/api/libs/jquery/jquery-1.7.2.min.js",function(){

jQuery(".title._nO").each(
    function(){
        console.log(jQuery(this).text());
    }
);

});

分页拿到全部文本以后,借助正则表达式添加后缀名:m4a 。

运行:

python rename.py

即可完成重规范重命名。

最后修改:2023 年 02 月 15 日
如果觉得我的文章对你有用,请随意赞赏