SaveWeb:サイト履歴

Saveweb



現代のインターネットは非常に急速に発展しており、常に変化しています。 以前は、テキスト付きのシンプルなページがありましたが、今ではオリジナルのデザインの「ライブ」サイトがあり、私たちの生活が影響を及ぼし、カメレオンのような外の世界に順応します。



時間が経ち、古いものを燃やし、新しいものを産むことに気付いたとき、私は少しの間立ち止まり、向きを変え、見回したかった。 過去に戻ることは興味深いでしょう。そこでは、以前見たことのないもの、現在存在しないもの、将来は異なるものを見ることができます。 単純な好奇心を満たすために、1年前のサイトの外観と現在の外観を比較するために-これはSaveWebを作成したインセンティブです。これはまだ非常に若いですが、時間を止めることができるようです:)



アイデア



スクリーンショットの形でサイトの状態を定期的に維持するという考えは、長い間私の頭の中にありました。 最初は、あえてその実装に着手しませんでした。明らかな困難がたくさんありました。サーバー、データを保存するための多くのディスクスペース、広いチャネル、および回収が困難なその他のリソースが必要でした。 結局のところ、実際には、アイデアは誕生の瞬間から採算が取れず、誰もがこれを私に納得させようとしました。 しかし、好奇心、興味、そしてささやかな歴史的意義が優勢であり、まず第一に自分自身を納得させたので、プロトタイプの作成に取りかかりました。



バックエンド



プロトタイプでは、以前に一定量のゴミ(残念ながら、すべてではない)を削除して、Alexaの評価から最も人気のあるサイトを1万件取得しました。 次に、2つのPythonスクリプトが作成されました。コントローラーと、実際にはスクリーンショット自体(以降、ショットャーと呼びます)です。 Shoterは、特定のパラメーターを受け入れ、保存されたスクリーンショット(成功した場合)またはエラーコードの形式で結果を出力するコンソールアプリケーションです。 スクリーンショット自体は、Xvfbから起動されたwebkit(qt)を使用して作成されます。 コントローラーはこのプロセス全体を制御し、ショットャーの結果のロジックと処理を担当し、マルチスレッドを提供します。 実験が示したように、これは、nixでのバッチ「スクリーンショット」に最適な安定したソリューションです。



フロントエンド



単純なロジックはすべてPHPで作成されました。 特定の日付のサイトを表示できます。 サイトのデータベースの補充は自動モードで行われました。URLが入力されていない場合はすぐに更新されます。 また、サイトページで、Rキーを押して、他のサイトの履歴を確認できます。 おそらくこれは今のところすべてです:)



設計



ミニマルなデザインは、開発の開始のかなり前に(文書化のアイデアとして)描かれ、一日中レイアウトされました。



制約



残念ながら、私は自分のポケットから完全にプロジェクトに資金を提供する機会がありません(財政的に支援したい人のために-サイトにボタンがあります、私は非常に感謝します)、リソースはいくらか限られています:

-サイトは、SaveWebの理解では、メインページ(実際にはドメイン名)です。 ページは個別にスキャンされません。 これは概念上の制限ですが、将来的にはリソースが許せば削除できます(これには多くのリソースが必要です)

-圧縮されたJPEGを使用(あまり強くないが、時々目立つ)

-スクリーンショットは1280x1024のサイズで撮影されますが、幅は1024ピクセルに縮小されます(より小さいボリュームの場合)

-ページの高さ(長さ)が大きい場合、スクリーンショットの高さはそれぞれ3072ピクセルにトリミングされ、すべてが「フレーム」に入るわけではありません

-サーバーからの画像のリモート挿入の禁止を一時的にオンにしました(ホットリンク保護)



今後の計画



-当然、できるだけ多くの制限を削除したいと思います

-サイトのメタ情報を収集します:おっぱい、PR、Alexaランク、その他の指標とパラメーター。 それらにグラフィックを描画します。 サイトのスナップショットを他の同様に有用で興味深い情報で多様化したい

-英語版のサイト(表示される予定)

-システム全体を最適化し、リソースのコストを削減するなど、多くのアイデアや考えがあります。

-より便利でわかりやすくするために、サービスインターフェイスに追加機能を追加します(たとえば、比較モードを作成します)



合計



SaveWebは現在、約1か月に1回時間を停止します。 現時点では、いくつかの反復が完了しており、すでに何かを見ることができます。 プロジェクトの6か月分の資金とリソースがあります。



再帰的なSaveWeb。二週間は少し変わった

再帰的なSaveWeb。 両方の日付を見ると、小さな変化が見られます:)



なんでこんなこと?



私は、そのアイデアが長い間興味をそそってきたシンプルで野心的なプロジェクトの作成について説明しました。 プロトタイプが既に作成されている(または、アルファバージョン-好きな人に)ことができてとてもうれしいです。 サイトは既に保存されており、履歴はすでに作成されています。つまり、主な目標は完了しています。 しかし、私はそこで止まるつもりはありません。数年後にはSaveWebの結果を見ることができることを本当に望んでいます。 結局、それが長く働くほど、その存在はより重要になります。



この投稿では、アイデアと思考の形でフィードバックを収集するために、このプロジェクトに関する意見をhabrasocietyにお願いしたいと思います。 また、ご清聴ありがとうございました。



しかし、 Wayback Machineはどうですか?


コメントの中で、彼らはよく知られているプロジェクトとの違いを尋ねます。 私はそのような質問を期待していたので、記事の一部として答えます:)



目標とアプローチの主な違い-Wayback Machineは主にリソースの情報コンポーネントを保存し、できるだけ多くのサイトをカバーしようとします。 SaveWebのアイデアは、すべてを保存しようとするのではなく、インターネット以前どのように見えたかを伝えることです。 何百万もの未知のサイトを保存する必要はありません。カメレオンのように変化する人気のある巨大なサイトを保存するだけです。



ただし、Wayback Machineには、時間という否定できない大きな利点があります。 しかし、彼とすることは何もありません;それは飛びます。 彼らが言うように、決して始めるよりも遅く(始めるのが)良いです;)



All Articles