移転しました。

購読フィードを棚卸し

livedoor Readerで購読しているフィードが1,000を超えたので、ざっと棚卸しをしてみた。
もう無くなってしまっているフィードもあるだろうなと思って、簡単なスクリプトを書いて調べてみる。

<?php
require_once 'HTTP/Request.php';
$export = file_get_contents('export.xml');
preg_match_all('/xmlUrl="(http.+?)"/u', $export, $matches);
$handle = fopen('result.txt', 'w');
foreach ($matches[1] as $url) {
  $req =& new HTTP_Request($url);
  $res = $req->sendRequest();
  if (PEAR::isError($res)) {
    $status = $res->getMessage();
  } else {
    $status = $req->getResponseCode();
  }
  $line = $url . "\t" . $status . "\n";
  echo $line;
  fwrite($handle, $line);
  sleep(3);
}
fclose($handle);

結果はこんな感じになった。
HeartRails Graph
案外無くなってなかった(ただしサービス側がちゃんとステータスコードを返してくれていることが前提だけど)。404になるのは14個で、「その他」の内訳は307、401、403、406。
6ヶ月以上更新されていないフィードは77個あった。
正直、死にフィードがいっぱいあるだろうなと予想していたのだけれど、多くのフィードがちゃんと更新されているようだ。
ということで、ほとんど棚下ろす必要がなかった。