RedditはTwitterに倣い、サードパーティ製アプリにAPIへのアクセス料金を課すことにしました。その結果、iPhone向けRedditアプリの中でも最も人気のあるApolloは、新料金設定により月額200万ドルの損失が発生すると判断し、完全にサービスを終了しました。同じく人気アプリであるRIFも同様の理由でサービス終了を決定しました。APIに関するニュースを受けて、今週、複数の主要Redditコミュニティが抗議のためアクセスをブロックしました。
Redditは法的にAPI料金を請求する権利があり、(ひどい)公式アプリをもっと多くの人が利用すれば、Redditは利益を得ることになる。CEOのスティーブ・ハフマン氏はAMA(質問箱)で、今回の変更は誇張されていると主張した。そのスレッドのコメントは、会社の方針にあまり好意的とは言えないと言えるだろう。
これらすべてを見て、長年Redditに投稿してきた投稿やコメントはどうなるのかと疑問に思うのはあなただけではありません。カリフォルニア州サンマテオ在住のプログラマー、デビッド・ブラウンマンさんもまさに同じ疑問を抱いていました。
「長年Redditに多大な貢献をしてきたので、アクセスできなくなるのは嫌だったんです」と彼は言う。「これは私のコンテンツですから、Redditがそれを守ってくれないなら、私が責任を持って管理しなければなりません。それに、過去の投稿をよく参照するので、全文検索機能は私にとって重要でした。」
こうした懸念を念頭に、ブラウンマン氏は自身の投稿をオフラインでアーカイブしたいと考えていました。Redditで問い合わせるか、ブラウンマン氏が作成したツールを使って自分でダウンロードするか、いずれの方法でも、オフラインでアーカイブを取得することができます。
Redditにデータを要求する
Redditには、データのコピーをリクエストできるフォームがあります。この処理には最大30日かかる場合があります。その後、Redditアカウントにダウンロードリンクが記載されたプライベートメッセージが届きます。データはCSVファイル形式で提供され、Microsoft Excelなどのテキストエディタで開くことができます。コメント、投稿、投票履歴、チャットなど、それぞれに個別のファイルが用意されています。
この方法にはいくつか欠点があります。まず、CSVファイルは扱いにくく、特に検索したい場合はなおさらです。次に、遅延が発生するため、データをダウンロードしてすぐに使いたい場合には煩わしいでしょう。とはいえ、これは簡単で、ほとんどの人にとってRedditのコンテンツをバックアップする最良の方法でしょう。
Redditのデータを自分でダウンロードする
Redditからのデータの配信を待ちたくない場合、または検索可能なアーカイブにデータを保存したい場合は、Brownman氏のツール reddit-user-to-sqlite を使用できます。このコマンドラインアプリケーションは、任意のRedditユーザーの公開アーカイブ全体をダウンロードし、SQLiteデータベースファイルにコンパイルできます。ただし、この方法は2023年7月1日のAPI変更に伴い、利用できなくなりますのでご注意ください。
Brownman氏は、このツールの概要と簡単な手順を説明したブログ記事を公開しています。コマンドラインに慣れている方は、そちらの手順に従うことをお勧めします。そうでない方もご安心ください。思ったほど難しくはありません。
まず、Pythonをインストールする必要があります。Windowsをお使いの場合は、お使いのコンピュータ用のインストーラーをダウンロードして実行することをお勧めします。Pythonをインストールしたら、pipxをインストールする必要があります。Windowsでは、コマンドプロンプトまたはPowerShellで以下のコマンドを実行するのが最適です。
py -3 -m pip インストール --user pipx
py -3 -m pipx ensurepath
Macユーザーは、ソフトウェアのインストールを簡素化するコマンドプロンプトツールであるHomebrewをインストールすることをお勧めします。Homebrewページの指示に従い、以下の2つのコマンドでpipxをインストールしてください。
brew install pipx
pipx ensurepath
pipx をインストールしたら、次のコマンドを使用して Brownman のツールをインストールできます。
pipx で reddit-user-to-sqlite をインストール
もうすぐ完了です!Redditユーザーの完全なアーカイブをダウンロードするには、次のコマンドを入力し、最後の単語をユーザー名に置き換えてください。
reddit ユーザーから sqlite ユーザーへ YOUR_USERNAME_HERE

マイクロソフト、ジャスティン・ポット経由
このソフトウェアは、そのユーザーによるすべての公開インタラクションをダウンロードし、reddit.dbというファイルに保存します。このファイルは、SQLiteデータベースを開くことができる任意のアプリケーションで開くことができます。これはオープンフォーマットであるため、データは今後数十年にわたって読み取ることができます。
Brownman氏は、コマンドプロンプトツールのDatasetteを使ってデータを閲覧することを推奨しています。よりシンプルな選択肢としては、ローカルでファイルを開くことができるウェブアプリのSQliteviewer.appがあります。デスクトップ版をご希望の場合は、SQLiteBrowserをお試しください。少し見た目は悪いですが、十分な機能を備えています。どのアプリを使用するにしても、データはご自身のコンピューターに安全に保存されるため、Redditのポリシー変更の影響を受けません。