🚛 Bilibili-Favlist-Export

简体中文 / English

导出哔哩哔哩收藏夹为 CSV 或 HTML 文件,以便导入 Raindrop 或 Firefox。

Export Bilibili favorites to CSV or HTML files for importing into Raindrop or Firefox.

有问题欢迎随时反馈,如果对您有帮助的话可以在 Github 点个 Star (●'◡'●) 非常感谢~

⚠ 温馨提示

本脚本所使用的 CSV 格式为 Raindrop 所要求的格式,HTML 为 Firefox 所使用的备份格式,对于其它浏览器兼容性未知。

导出速度固定在代码中的 const DELAY = 2000; 部分,如果您的加载速度足够,可以降低延时。

如果您出现了收藏夹错位的情况,则是网络条件和导出延时不匹配。

若您希望与 收藏夹Fix 一起使用,请至少增加至 4000 延时以等待脚本加载。

📷 预览

⭐ 特性

拥有独立的导出面板。

自动遍历所有收藏夹视频。

支持用户自选导出格式。

支持用户自选导出内容(CSV)。

支持用户自定义父级书签文件夹(HTML)。

实时查看导出进度。

💻 使用

该版本是 Bilibili-To-Raindrop 的衍生版本,操作更为便捷,支持格式和自定义程度更广。

如果您仅需要导出至Raindrop格式所需的CSV文件,追求兼容性和速度,可以不安装油猴脚本直接使用控制台脚本。

在哔哩哔哩收藏夹页面按下 F12,或右键网页选中检查,并将以下代码粘贴至浏览器控制台(console)中

var delay = 2000; //等待时间

var gen = listGen();

var csvContent = "\uFEFF";

csvContent += "folder,title,url\n";

function getCSVFileName() {

var userName = $("#h-name").text();

return userName + "的收藏夹.csv";

}

function getFolderName() {

return $("#fav-createdList-container .fav-item.cur a.text").text().trim();

}

function escapeCSV(field) {

return '"' + String(field).replace(/"/g, '""') + '"';

}

function getVideosFromPage() {

var results = [];

var folderName = getFolderName().replace(/\//g, '\\'); // 替换 / 为 \ 避免 Raindrop 识别出错

$(".fav-video-list > li > a.title").each(function() {

var title = $(this).text().replace(/,/g, '');

if (title !== "已失效视频") {

var url = 'https:' + $(this).attr("href");

results.push(escapeCSV(folderName) + ',' + escapeCSV(title) + ',' + escapeCSV(url));

}

});

return results.join('\n');

}

function processVideos() {

csvContent += getVideosFromPage() + '\n'; // 自动换行

if ($(".be-pager-next:visible").length == 0) {

setTimeout(changeList, delay);

} else {

$(".be-pager-next").click();

setTimeout(processVideos, delay);

}

}

function* listGen() {

for (var list of $("#fav-createdList-container .fav-item a").get()) {

yield list;

}

}

function changeList() {

var list = gen.next().value;

if (list) {

list.click();

setTimeout(processVideos, delay);

} else {

downloadCSV();

}

}

function downloadCSV() {

var fileName = getCSVFileName();

var blob = new Blob([csvContent], { type: 'text/csv;charset=utf-8;' });

var url = URL.createObjectURL(blob);

var win = window.open();

if (win) {

win.document.open();

win.document.write('');

win.document.write('点击下载');

win.document.write('');

win.document.write('');

win.document.close();

} else {

alert('下载窗口被浏览器阻止,请先在设置里允许网页弹窗后重试。');

}

}

changeList();

❤️ 感谢

原始获取代码来自于 快速导出B站收藏单节目列表 - 鱼肉真好吃

遍历所有收藏夹部分的代码来自于 BiliBackup