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