サイトのPDFをまとめてダウンロードしたい時

 

〜「もっと見る(read more)」も「PDF保存」も全自動化する時短術〜

開発者ツールって知っていますか?難しそうに聞こえるかもしれませんが、素人でも使える便利な機能が隠れています。 たとえば、全部一度にみたいのに、6個ぐらいごとに【もっと見る(read more)】ボタンがあって、いちいちそれをクリックしないと全貌が見えない時、とか、ダウンロード可能な教材サイトだけど、【まとめてダウンロード】ボタンはなくて1章ごとにPDFファイルが分かれているため20個ぐらいダウンロードしなきゃいけない時とか、ありますよね。

「全部一括でダウンロードしたい」「何度もクリックするのが面倒!」

そんなことができてしまうのが、ブラウザに標準搭載されている「開発者ツール」です。今ならプログラミングの知識がなくても、AIに聞いてコードをコピペするだけで、ブラウザが自動で動いて、こんなささやかな願いがかなっちゃうんですよね。今回は実際に(コード知識が皆無の)わたしが試した具体的な手順をまとめました。

1. まずは開発者ツールの「コンソール」を開く

ブラウザの裏側を操作する画面を開きます。どのサイトでも共通の操作です。ちなみに、これはこのサイトはこのようなコードが作られているというのが分かる場面なので、そのサイトに影響を与えたりすることはありませんのでご安心ください。

  • Windows: F12 キー または Ctrl + Shift + I
  • Mac: Cmd + Option + I
  • または、画面上を右クリックして【検証】を選ぶ

すると下画像の右側のようなコード画面が右の方に出てきます。

画面が出てきたら、上部にある「Console(コンソール)」というタブをクリックしてください。ここにコードを貼り付けていきます。

実行すると、自動処理が始まります。わたしが使ってみた例を下に記します。

例1. 「もっと見る」を最後まで自動連打する

ページを下にスクロールさせたいのに、何度もボタンを押さないと次が出てこない…。そんなときはこのコードの出番です。

const autoClick = setInterval(() => { // サイトに合わせてボタンの文字('もっと見る' など)を書き換えてください const buttons = Array.from(document.querySelectorAll('button, a, div')); const targetButton = buttons.find(el => el.innerText.includes('もっと見る')); if (targetButton) { console.log('ボタンをクリックしました...'); targetButton.click(); } else { console.log('すべてのコンテンツを表示しました。'); clearInterval(autoClick); } }, 2000); // 2秒おきに実行

ポイント:
ボタンの文字が「Read More」や「さらに表示」の場合は、コード内の 'もっと見る' をその文字に書き換えるだけでOKです。

例2. ページ内のPDFをすべて一括ダウンロードする

バラバラに置かれたPDFリンクがたくさんある時、それを1つずつクリックしてダウンロードや保存するのは🤏面倒ですよね。それも解決できます。コードによって、全てのPDFファイルのダウンロードを開始します。

const links = Array.from(document.querySelectorAll('a[href$=".pdf"]')); links.forEach((link, index) => { setTimeout(() => { const a = document.createElement('a'); a.href = link.href; a.download = ""; document.body.appendChild(a); a.click(); document.body.removeChild(a); }, index * 500); // 0.5秒おきにダウンロード });
注意:
初回実行時、ブラウザが「複数のファイルをダウンロードしようとしています」と警告を出しますが、「許可」を押せば自動保存が始まります。

まとめ:マナーを守って賢く時短

今回ご紹介した方法は、ブラウザの標準機能を使った正当な操作です。ただし、相手のサーバーに負担をかけないよう、コードには「0.5秒〜2秒待つ」という設定が入っているそうです。これを極端に短くして攻撃的にならないようにするのが、ネットの世界の「お作法」だということです。

参考になりましたでしょうか。こうしてAIに助けてもらって、浮いた時間をどうやって有意義に使ったらいいでしょうね?!


コメント