Dieses Modul dient zum Herunterladen jeder MP3-Datei aus einem Patreon-RSS-Feed.
Es befindet sich derzeit im Alpha-Stadium und funktioniert für meinen speziellen Anwendungsfall sehr gut und für andere Anwendungsfälle mit etwas Aufwand. Das nächste Update wird ein besseres Optionsobjekt bieten, mit dem Sie verschiedene Aspekte nach Ihren Wünschen steuern können. Im Moment werden einfach alle Audio-/MPEG-Dateien im RSS-Feed in das aktuelle Verzeichnis heruntergeladen.
Sie müssen Ihren individuellen RSS-Link von der Website der Patreon-Kampagne erhalten (patreon.com -> Seitenleiste unter „Mitgliedschaften“ -> individuelle Kampagne -> Registerkarte „Mitgliedschaft“ -> Schnelllinks -> „In anderen Podcast-Apps anhören“).
import getRssItems from 'patreon-mp3-downloader';const items = waiting getRssItems('https://www.patreon.com/rss/PATREONCAMPAIGN?auth=PATREON_PROVIDED_AUTH_TOKEN_STRING');// Dies wird ein Array von Item-Objekten sein hat einen Titel und eine URL// sowie eine download()-Methode, mit der Sie den Download von// auslösen können eine einzelne Datei.console.log(items);// Da Sie über ein Array von Objekten verfügen, von denen jedes seine eigene Download-Methode enthält,// können Sie diese nach Belieben herunterladen.// Laden Sie das neueste Element im RSS-Feed herunter :await items[0].download();// Laden Sie jedes Element der Reihe nach herunter, beginnend mit dem neuesten, und stellen Sie dem Dateinamen eine Zahl voran:let counter = items.length;for (const item of items) {console.log (`herunterladen ${counter} - ${item.fileName}`);await item.download(`${counter} - `);counter--;}// jedes Element im Feed auf einmal herunterladen (nicht für größere Feeds empfehlen). ):await Promise.all(items.map(i => waiting i.download()))// Sie könnten das Array auch mit lodash aufteilen, und Promise.all jedes chunk:import _ from 'lodash';const chunks = _.chunk(items, 5);for (const chunk of chunks) {await Promise.all(chunk.map(i => waiting i.download()));}
Auch hier wird es im nächsten Update eine benutzerfreundlichere Oberfläche mit den oben genannten Methoden geben.
gemacht mit ? Und ?