Ce module permet de télécharger tous les fichiers mp3 à partir d'un flux rss patreon.
Il est actuellement dans un état alpha et fonctionne très bien pour mon cas d'utilisation spécifique, ainsi que pour d'autres cas d'utilisation avec un peu de force. La prochaine mise à jour offrira un meilleur objet d'options pour contrôler divers aspects à votre guise. Pour le moment, il va simplement télécharger tous les fichiers de type audio/mpeg du flux rss dans le répertoire actuel.
Vous devrez obtenir votre lien RSS individuel sur le site Web de la campagne Patreon (patreon.com -> barre latérale sous « Adhésions » -> campagne individuelle -> onglet Adhésion -> liens rapides -> « Écouter d'autres applications de podcast »)
importer getRssItems depuis 'patreon-mp3-downloader';const items = wait getRssItems('https://www.patreon.com/rss/PATREONCAMPAIGN?auth=PATREON_PROVIDED_AUTH_TOKEN_STRING');// ce sera un tableau d'objets Item, qui possède un titre et une url// ainsi qu'une méthode download() que vous pouvez utiliser pour déclencher le téléchargement// d'un file.console.log(items);// puisque vous disposez d'un tableau d'objets dont chacun contient sa propre méthode de téléchargement,// vous êtes libre de les télécharger comme vous le souhaitez.// téléchargez le dernier élément du flux rss : wait items[0].download();// télécharge chaque élément dans l'ordre, en commençant par le dernier, en ajoutant un numéro au nom du fichier :let counter = items.length;for (const item of items) {console.log( `téléchargement de ${counter} - ${item.fileName}`);await item.download(`${counter} - `);counter--;}// télécharge tous les éléments du flux en même temps (ne recommande pas pour les flux plus volumineux) :attendez la promesse .all(items.map(i => wait i.download()))// vous pouvez également découper le tableau avec lodash, et Promise.all chaque morceau : importer _ depuis 'lodash'; const chunks = _.chunk(items, 5);for (const chunk of chunks) {await Promise.all(chunk.map(i => wait i.download()));}
Encore une fois, une interface plus conviviale avec les méthodes ci-dessus intégrées sera disponible dans la prochaine mise à jour.
fait avec ? et ?