Habrの古い記事を写真で読む

しばらく前、私は知識を更新し、グラフについて何かを読むことにしました。 「もちろん、Habréには良い記事があるはずです!」と思い、私は正しかった。 記事があり、それらの多くがあります。 しかし、それらはほとんど次のように見えます: onetwothree 。 完全に理解可能な言語で書かれているにもかかわらず、これらの記事から何かを理解することが完全に不可能である理由を1回試してみてください。 写真なし! しかし、写真なしでグラフを調べる方法は? まさか。



Habrの新参者は、「どうして-写真がないの? habrastorage.orgがあります!」 はい、あります。 しかし、彼はいつもそこにいるとは限らず、自動的に写真が彼に注がれ、2013年7月に始まりました 。 それ以前は、写真はどこでもホストされていました-あらゆる種類の過激派、画像ハック、さらにはドロップボックスでも、人々は素朴に何かを広めようとしました。 その結果、Habréには2006年から2013年までの写真のない記事がたくさんあります。



それを修正しましょう!





計画



最初に直面するタスクは次のとおりです。





実装



一般的に、レイジーのみがHabrをまだ解析していませんが、レイジーではありません。 特にPython +リクエストには次のように書かれているため:







クラウド内の仮想マシンにコードをアップロードし、開始して、2日以内に戻ります(もちろん、それを複数のスレッドに解析できました-よくある質問のどこかで、Habrは毎秒2回以上ボットでプルしないように頼みました)。



結果



合計で、「ハブラストラーの到来前」の記事では、 157601個の画像が「左」の画像ホスティングサイトに投稿されました。 これらのうち、 92549リンクはまだ有効であり、 65052リンクは存在しません。







わかりました、Habréの記事には65052のアクセスできないイメージへのリンクがあります。 それをどうしますか? もちろん、それらをarchive.orgキャッシュから取得します! 彼はそのために考えられました!



Webアーカイブ内の画像の可用性は、簡単なリクエストで確認できます。

http://archive.org/wayback/available?url=%image_url%
      
      







たとえば、記事habrahabr.ru/post/63982にない画像img513.imageshack.us/img513/3580/pic1e.jpgへのリンクは、 http://web.archive.org/web/20131103061340/http://からアクセスできます。 img513.imageshack.us/img513/3580/pic1e.jpg



ただし、1つの不幸があります。 オンラインアーカイブは、キャッシュされた画像へのリンクがあると主張することがありますが、実際にはありません。 一般的に嘘。 つまり キャッシュされた画像へのすべてのリンクを確認する必要があります。 まあ、何もチェックしないでください



いっぱい、走って、半日待ちます。



結果



Habréの記事の元のリンクで使用できなくなった写真の13863枚は、Webアーカイブで使用できました。







この実験全体により、「病院内の平均気温」は良好でした。ランダムホスティング用にアップロードされた写真は、今後2〜9年で約58%生き残る可能性があります。 また、 archive.orgは有用なものであり、時には役立つこともわかっていますが、Habréの画像への壊れたリンクを復元する可能性は21.3%です。



記事の最初の部分の結論



したがって、今では画像への有効なリンクがまだある配列と 、壊れたリンクとWebアーカイブ内の利用可能な画像への対応するリンクがある2番目の配列があります。 この時点で、Habr管理者にこのデータを取得し、4行のコードを記述してhabrastorage.orgにすべてリロードし、既存の記事のリンクを更新するように依頼できますが、それを行うかどうかはわかりません。 そして、私は通常の形で記事を読みたいです! そして、私たちは私たち自身の道を行きます。 もちろん、「Webアーカイブから直接記事を読む!」と言うこともできますが、これはどういうわけかあまり有益ではなく、このデータ収集はすべてどうなるでしょう。



2番目の衝動は、Chromeの拡張機能を作成し、悪いリンクを良いリンクに置き換えたいという願望かもしれませんが、いくつかの理由でこれを行いたくありません。





したがって、私たちは他の方法で、上記のすべての問題を解決する何かを書きます。 いったい何? そして、あなたは次の記事からこれについて学びます。



PS 2番目の記事で使用した方法はHabréの写真とは関係がないため、2つの記事へ論理的な分離が読みやすさのために追加されました。



UPD。 コメントで正しくプロンプトが表示されているように-チェックしてリダイレクトする必要があります。 スクリプトは修正され( 百科事典のおかげで)、再度実行されます。 その結果、画像への別の有効な10,683のリンクが受信されました。 新しいデータを含むファイルはGitHubにアップロードされます(記事のリンクを参照)。



All Articles