Webサイトの特定のファイルを一括ダウンロードする
Webサイトから大量のPDFやExcelファイルをダウンロードする際、一つひとつ手動でダウンロードするのは非常に手間です。
画像なら専用の拡張機能が多くありますが、PDFやExcelファイルに対応したツールは少ないです。
Image Downloader - Save picturesなど
そこで、Chromeのデベロッパーツールを活用して、簡単に自動化する方法をご紹介します。
方法
- Webサイトを開く
例として、日本取引所グループHP 規模別・業種別PER・PBR(連結・単体)一覧を使います。
- Chromeデベロッパーツールを起動
F12キーを押すか、右クリックして「検証」を選択し、Devツールを開きます。その後、「Console」タブをクリックします。
- PDFダウンロード用のJavaScriptコードを実行
コンソールに以下のコードをコピーして貼り付け、Enterキーを押します。
// ページ内の全てのExcelリンクを取得★
const fileLinks = [...document.querySelectorAll('a')].map(link => link.href).filter(href => href.endsWith('.xlsx'));
// 2秒ごとにダウンロードする関数
function downloadFile(url, index) {
setTimeout(() => {
const link = document.createElement('a');
link.href = url;
link.download = '';
document.body.appendChild(link);
link.click();
document.body.removeChild(link);
}, index * 2000); // 2秒の遅延
}
// すべてのリンクを順次ダウンロード
fileLinks.forEach((url, index) => downloadFile(url, index));
- ダウンロードフォルダに格納されます
※複数のファイルを一括でダウンロードしようとすると警告が出るようなので、許可を選択してください。
応用
今回はExcelファイルのダウンロードを紹介しましたが、PDFの場合は、コード内の「.xlsx」を「.pdf」に変更するだけで対応可能です。
さらに、特定のファイル名でダウンロードしたい場合は、以下のようにコードを修正してください。
// 特定のキーワードを含むPDFリンクを取得
const pdfLinks = [...document.querySelectorAll('a')].map(link => link.href).filter(href => href.includes('report') && href.endsWith('.pdf'));
しかし、プログラミングがわからない人には難しいと思いますが、ChatGPTを使えば簡単にできます。
ChatGPTに上記のコードをコピーペーストして、変更したい内容で指示してみてください。
コードを書き換えてくれます。
まとめ
Chromeのデベロッパーツールを活用することで、手作業では面倒な複数ファイルのダウンロードを効率化できます。
特に、PDFやExcelファイルの一括ダウンロードは業務効率化に役立つでしょう。
さらに、ChatGPTを活用すれば、プログラミング知識がなくてもカスタマイズしたスクリプトを簡単に生成できるので、ぜひお試しください。