该模块用于从 patreon rss feed 下载每个 mp3 文件。
它目前处于 alpha 状态,对于我的特定用例功能非常好,对于其他用例也有一定的作用。下一次更新将提供更好的选项对象来根据您的喜好控制各个方面。现在,它只会将 rss feed 中的每个音频/mpeg 类型文件下载到当前目录。
您需要从 patreon 活动网站获取您的个人 rss 链接(patreon.com -> “会员资格”下的侧边栏 -> 个人活动 -> 会员选项卡 -> 快速链接 -> “收听其他播客应用程序”)
import getRssItems from 'patreon-mp3-downloader';const items = wait getRssItems('https://www.patreon.com/rss/PATREONCAMPAIGN?auth=PATREON_PROVIDED_AUTH_TOKEN_STRING');// 这将是一个 Item 对象数组,即有一个标题和一个 url // 以及一个 download() 方法,您可以使用它来触发下载of// 一个单独的 file.console.log(items);// 因为你有一个对象数组,每个对象都包含它自己的下载方法,// 你可以随意下载它们。 // 下载最新的项目RSS feed:await items[0].download();// 按顺序下载每个项目,从最新的开始,在文件名前添加一个数字:let counter = items.length;for (const item of items) { console.log(`正在下载${counter} - ${item.fileName}`);await item.download(`${counter} - `);counter--;}// 一次下载 feed 中的每个项目(不建议用于较大的 feed) ):await Promise.all(items.map(i => wait i.download()))// 你也可以用 lodash 对数组进行分块,Promise.all 每个块:import _ from 'lodash';const chunks = _.chunk(items, 5);for (const chunk of chunks) {await Promise.all(chunk.map(i => wait i.download()));}
同样,下一次更新将提供一个更加用户友好的界面,内置上述方法。
用?和 ?