\r\n\r\n

自分専用のreaditlaterアプリケーションを作成する方法

オープンソースのホスト型ウェブアーカイブを自作する方法を紹介します...

インターネットは膨大な知識の宝庫です。しかし、それは一瞬のことであり、気に入ったコンテンツが今後登場する保証はありません。このようなコンテンツを失うことが許されない場合は、ウェブアーカイブツールを使ってウェブページのコピーを保存しておくとよいでしょう。

ウェブ記事を保存するために、あとで読むサービスを利用する人は多い。これらのアプリケーションはテキストベースのコンテンツに最も適しており、複雑なウェブデザインやメディアを適切に扱うことはできません。もっとコントロールしたい?

それでは、Webリソースを失うことなく、InstapaperやPocketのクローンをコンピュータ内に作成する方法を紹介します。

archiveboxの紹介

ArchiveBoxは、Wayback machineのような代替アーカイブサービスを独自にホストすることを支援するオープンソースのソリューションです。プライバシーを犠牲にすることも、コントロールできないサービスに縛られることもありません。

アーカイブするURLのリストを受け取り、ローカルで閲覧可能なHTMLクローンを様々なフォーマットで作成します。HTML形式のローカルコピー、ページのスクリーンショット、PDFファイル、WARC(ウェブアーカイブ)が含まれています。

このコピーは、将来的に元のページがなくなっても、手元に残ります。

ArchiveBoxはpython3で書かれています。また、Wget、headlesschrome、youtubedlなどのUnixツールなどの依存関係を利用して、Webページを保存することができます。常時稼働するバックエンドサーバーは必要ありません。新しいリンクをインポートし、静的出力を更新したいときに毎回実行するだけです。

アーカイブが完成したら、生成されたoutput/index.htmlを開くと、ブラウザでアーカイブを見ることができます。

アーカイブボックスのメリット

  • リンク先を複数のファイル形式でアーカイブし、バックアップとして使用することができます。
  • 高度なキャプチャ手法により、オリジナルページの保存を試みています。
  • コンテンツを自動的に抽出し、1つのフォルダに保存する機能
  • また、複数のリンク、概要、ブックマークを扱うためのシンプルなコマンドラインインターフェイスを提供します。一度設定し、そのスケジュールを実行して、新しいリンクをアーカイブする必要があります。

アーカイブボックスのデメリット

  • ArchiveBoxはウェブページから全てのアセットを抽出しますが、ディスクスペースを大量に消費し、CPUにも負荷がかかります。
  • Python 3.5に加えて、アプリケーションは3つ以上の依存関係を必要とします。これらのコンポーネントを一緒に動作させるために、何度も繰り返しました。
  • このアプリケーションは、Windows OSに完全対応していません。Dockerをインストールするか、Windows Subsystem for Linux(WSL)を有効にする必要があります。その場合でも、一部の機能が動作する場合としない場合があります。

対応OS

ArchiveBoxは、以下のOSを公式にサポートしています。

  • macOS:10.12 Sierraとhomebrew。
  • Linux:Ubuntu、Debian(APT搭載)。このアプリケーションは、Fedora, CentOS, SUSE, Arch などのディストリビューションで動作する(しない)場合があります。
  • BSD:FreeBSD, OpenBSD, NetBSD (pkg付き)。

依存関係

ArchiveBoxは、柔軟性の高いWebアーカイブツールです。以下の依存関係をインストールし、最小限の要件を満たす必要があります。

  • Python 3. macOSに付属するデフォルトのpython 2.0は使わないでください。
  • 重量 1.16
  • Chrome 59.すでにGoogle Chromeを使用している場合は、Chromeをインストールしないでください。
  • Youtube dl (オプション): メディアリソースは多くのストレージスペースを必要とします。ブックマークをアーカイブする前によく考えてください。

アーカイブボックスの設置

アーカイブボックスは、自動と手動の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のリストをテキストファイルに保存することも可能です。

archiveboxのインストール

GitHubからリポジトリをクローンして、ターミナルを開いて次のように入力します。

git clone https://github.com/pirate/ArchiveBox

その後

cd ArchiveBox/

このレポをクローンすると、インストーラはホームディレクトリにArchiveBoxフォルダを作成します。このフォルダーには、主要なアプリケーションと設定ファイルがすべて含まれています。

アーカイブにあなたのURLを追加する

個々のリンクをアーカイブするには、次のように入力します。

echo 'https://example.com'| ./archive

ArchiveBoxフォルダに移動し、新しく作成された出力フォルダを表示します。ここに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の設定

ほとんどの場合、デフォルトの設定が有効ですが、特定の重要なパラメータを調整することで、より機能的になります。設定ファイルは次の場所にあります。

~/ArchiveBox/etc/ArchiveBox.conf.default

注意:このファイルは変更しないでください。アプリケーションを更新するとすぐに削除されます。永続的な設定ファイルを作成するには、次のように入力します。

cp ~/ArchiveBox/etc/ArchiveBox.conf.default ~/.ArchiveBox.conf

cpコマンドを実行すると、ホームディレクトリに設定ファイルのコピーが作成されます。デフォルトでは、このファイルはディレクトリに表示されません。非表示を解除するには、Cmd+Shift+Period.を押して、TextEditで設定ファイルを開きます。

パラメータ

ArchiveBoxは様々なオプションを提供していますが、ここではいくつかの重要な質問をします。

  • ONLY NEW: Trueに設定すると、新しく追加されたリンクのアーカイブをダウンロードすることができ、頻繁にリンクをブックマークする場合に便利です。
  • タイムアウト:設定可能な値は60秒または120秒です。タイムアウトエラーが頻繁に発生する場合は、この値を120秒に増やしてください。
  • URLu blacklist: 正規表現を使って、特定のドメイン、拡張子、URLパターンをアーカイブから除外することができます。
  • メディアを入手する:youtube dlを使って、すべてのオーディオとビデオファイルを入手します。十分なストレージ容量がある場合のみ、Trueに設定してください。
  • WGETu USER AGENT: アーカイブ中にユーザーエージェントを変更するために使用される。このオプションは、特定のサーバーでブロックされている場合に有効です。

設定の詳細については、ArchiveBoxの設定についてをご覧ください。

ポストアーカイブ

ArchiveBoxは、GitHubのページなど、静的なHTMLをホストできるあらゆるプロバイダーと互換性のあるアーカイブを生成します。

また、出力フォルダをWebディレクトリに直接アップロードすることで、自宅サーバやVPSからの配信も可能です。

CGIやPHPなどのコンテンツが動作していないことを確認し、静的なHTMLファイルのみをホストするようにします。

アーカイブのホスティングには、メリットとデメリットの両方があります。ランダムなサイトからリンクをダウンロードする場合、悪意のあるCSSやJSファイルを共有ドメインでホストする危険性を認識する必要があります。また、robot.txt ファイルをブラックリスト化することで、アーカイブを非公開にすることもできます。

オフラインでサイト全体をダウンロードする

ここ数年、ウェブアーカイブが注目されている。ソースHTML、埋め込み画像、スタイルシート、JavaScriptコードなど、ウェブページのコンテンツ全体を記録する。

InstapaperやPocketに不満があるのなら、ArchiveBoxは素晴らしい代替品です。ウェブ記事だけでなく、オフラインでアクセスしたり、その知識を保存するために、ウェブサイト全体をアーカイブする必要がある場合もあります。この記事に興味を持たれた方は、あらゆるウェブサイトをダウンロードしてオフラインで読む方法についてお読みください。

あなたが興味を持っているかもしれない記事

匿名者
匿名者

0 件の投稿

作家リスト

  1. admin 0 投稿
  2. 匿名者 0 投稿

おすすめ