🖼️
Slideshareからスライドをエクスポートする
Slideshareは昨今広告が多く、通常の閲覧が実質的に不可能になっているため、アカウントの削除をすることにした。
アカウント削除前にこれまで上げていたデータをエクスポートしておくことができるが、JSONもしくはCSVでメタデータが取得でき、実際のスライドデータはそこから出てきたURLを1つずつブラウザで開くようになっている。
ブラウザを開くと「ダウンロードが始まります」の表示がなされたあとにJavaScriptで遷移する仕組みになっており、サクッと全データをエクスポートできない。
jqとJavaScriptコンソールで対応したので、記録として対応方法を書き残しておく。
まず、エクスポートされたJSONからURLを抽出する。この後使うdl関数でラップされた形にしておく。
$ cat SlideShare_user_data_2024-12-28\ 17_22_33\ +0000.json | jq -r '.slideshows_uploaded[] | "dl(\"" + .download_url + "\");" '
dl("https://www.slideshare...");
...
次に、ダウンロードURLをiframeで埋め込むスクリプトと、このスクリプトの出力を結合して、slideshareのページ内からDeveloper ToolのJavaScriptコンソールに打ち込む。
function dl(url) {
const iframe = document.createElement('iframe');
iframe.style.width = '0';
iframe.style.height = '0';
iframe.style.border = 'none';
iframe.src = url;
document.body.appendChild(iframe);
}
dl("https://www.slideshare...");
...
実行したタイミングで一括でダウンロードが始まるが、Chrome/Edgeだと一気にダウンロードをさせると複数ダウンロードをブロックされるので許可が必要になる。
Discussion