\r\n\r\n
インターネットは膨大な知識の宝庫です。しかし、それは一瞬のことであり、気に入ったコンテンツが今後登場する保証はありません。このようなコンテンツを失うことが許されない場合は、ウェブアーカイブツールを使ってウェブページのコピーを保存しておくとよいでしょう。
ウェブ記事を保存するために、あとで読むサービスを利用する人は多い。これらのアプリケーションはテキストベースのコンテンツに最も適しており、複雑なウェブデザインやメディアを適切に扱うことはできません。もっとコントロールしたい?
それでは、Webリソースを失うことなく、InstapaperやPocketのクローンをコンピュータ内に作成する方法を紹介します。
ArchiveBoxは、Wayback machineのような代替アーカイブサービスを独自にホストすることを支援するオープンソースのソリューションです。プライバシーを犠牲にすることも、コントロールできないサービスに縛られることもありません。
アーカイブするURLのリストを受け取り、ローカルで閲覧可能なHTMLクローンを様々なフォーマットで作成します。HTML形式のローカルコピー、ページのスクリーンショット、PDFファイル、WARC(ウェブアーカイブ)が含まれています。
このコピーは、将来的に元のページがなくなっても、手元に残ります。
ArchiveBoxはpython3で書かれています。また、Wget、headlesschrome、youtubedlなどのUnixツールなどの依存関係を利用して、Webページを保存することができます。常時稼働するバックエンドサーバーは必要ありません。新しいリンクをインポートし、静的出力を更新したいときに毎回実行するだけです。
アーカイブが完成したら、生成されたoutput/index.htmlを開くと、ブラウザでアーカイブを見ることができます。
ArchiveBoxは、以下のOSを公式にサポートしています。
ArchiveBoxは、柔軟性の高いWebアーカイブツールです。以下の依存関係をインストールし、最小限の要件を満たす必要があります。
アーカイブボックスは、自動と手動の2つの方法で設定することができます。
自動方式では、ヘルパースクリプトがアプリケーションとその依存関係をインストールします。しかし、何らかのエラーが発生した場合は、問題を解決することができません。アプリケーションは手動でインストールするのがよいでしょう。
デモのため、macos 10.14.6を使用します。
依存関係をインストールする最良の方法は、Homebrewと呼ばれるパッケージマネージャを使用することです。その基本を学ぶには、Homebrewを使ってMacのアプリケーションをインストールする方法の記事をご覧ください。
ターミナルを開き、次のように入力します。
brew install python3 git wget curl youtube-dl brew cask install chromium(すでにGoogle Chrome/Chromiumがアプリケーションにインストールされている場合は、このステップをスキップしてください)
すべての依存関係のバージョン番号を確認するには、次のように入力します。
dependency app --version(Python3、wget、youtube dlなど依存アプリケーションの置き換え)。
すべてのRead-Laterサービスやブラウザは、ブックマークをHTMLファイルとしてエクスポートすることができます。ブラウザからブックマークをエクスポートする方法については、こちらの記事で解説しています。また、個々のリンクやURLのリストをテキストファイルに保存することも可能です。
GitHubからリポジトリをクローンして、ターミナルを開いて次のように入力します。
git clone https://github.com/pirate/ArchiveBoxその後
cd ArchiveBox/このレポをクローンすると、インストーラはホームディレクトリにArchiveBoxフォルダを作成します。このフォルダーには、主要なアプリケーションと設定ファイルがすべて含まれています。
個々のリンクをアーカイブするには、次のように入力します。
echo 'https://example.com'| ./archiveArchiveBoxフォルダに移動し、新しく作成された出力フォルダを表示します。ここにindex.htmlファイルが表示されます。
複数(数十個以上)のリンクを保存したい場合は、テキストファイルにリンクを追加するのが最適です。アプリケーションは、ファイル内のURLを解析し、アーカイブを作成します。ターミナルを開き、次のように入力します。
./archive [Path to Your File.txt]ファイルがダウンロードフォルダにある場合、パスは次のようになります。
./archive /Users/(Home directory name)/Downloads/links.txtこの処理が完了するまで、数分~数時間待ちます。アーカイブにアクセスするには、ブラウザでoutput/index.htmlを開いてください。列によるソート、右上セクションのボックスによるタイトル検索、下部のリンク総数の確認が可能です。
ファイル」欄の下にあるファビコンをクリックすると、詳細ページにアクセスできます。スクリーンショットに示された個々のファイルフォーマットへのリンクが表示されます。また、同リンクはarchive.orgにもアップロードされます。
再度、InstapaperやPocketのリンクをHTMLファイルとして書き出し、次のように入力します。
./archive ~/Downloads/instapaper-export.htmlまた、フィードのURLからリンクのリストをインポートすることもできます。ただし、失敗が多すぎたり、セッションのタイムアウトが発生する可能性があることを忘れないでください。URLが何千もある場合は、小さなファイルに分割した方が成功率が上がります。
ほとんどの場合、デフォルトの設定が有効ですが、特定の重要なパラメータを調整することで、より機能的になります。設定ファイルは次の場所にあります。
~/ArchiveBox/etc/ArchiveBox.conf.default注意:このファイルは変更しないでください。アプリケーションを更新するとすぐに削除されます。永続的な設定ファイルを作成するには、次のように入力します。
cp ~/ArchiveBox/etc/ArchiveBox.conf.default ~/.ArchiveBox.confcpコマンドを実行すると、ホームディレクトリに設定ファイルのコピーが作成されます。デフォルトでは、このファイルはディレクトリに表示されません。非表示を解除するには、Cmd+Shift+Period.を押して、TextEditで設定ファイルを開きます。
ArchiveBoxは様々なオプションを提供していますが、ここではいくつかの重要な質問をします。
設定の詳細については、ArchiveBoxの設定についてをご覧ください。
ArchiveBoxは、GitHubのページなど、静的なHTMLをホストできるあらゆるプロバイダーと互換性のあるアーカイブを生成します。
また、出力フォルダをWebディレクトリに直接アップロードすることで、自宅サーバやVPSからの配信も可能です。
CGIやPHPなどのコンテンツが動作していないことを確認し、静的なHTMLファイルのみをホストするようにします。
アーカイブのホスティングには、メリットとデメリットの両方があります。ランダムなサイトからリンクをダウンロードする場合、悪意のあるCSSやJSファイルを共有ドメインでホストする危険性を認識する必要があります。また、robot.txt ファイルをブラックリスト化することで、アーカイブを非公開にすることもできます。
ここ数年、ウェブアーカイブが注目されている。ソースHTML、埋め込み画像、スタイルシート、JavaScriptコードなど、ウェブページのコンテンツ全体を記録する。
InstapaperやPocketに不満があるのなら、ArchiveBoxは素晴らしい代替品です。ウェブ記事だけでなく、オフラインでアクセスしたり、その知識を保存するために、ウェブサイト全体をアーカイブする必要がある場合もあります。この記事に興味を持たれた方は、あらゆるウェブサイトをダウンロードしてオフラインで読む方法についてお読みください。