RSSがあるじゃない!
アンテナサイトを作るためにといって、今までスクレイピングをぼちぼちやってきましたが、ふと気づきました。RSSという便利なものがあるじゃないかと。
もちろん、全てのサイトがRSSを配信しているわけでもありませんから、スクレイピングは無駄にはなりませんが、ブログの更新情報はRSSで取得するべきだろうと、そのほうがどう考えても簡単で確実だろうと、憤懣やるかたない思いです。
とりあえず入門編ということで、将棋の中継ブログ各種からエントリのタイトルや本文を抜き出すスクリプトを書いてみました。RSS配信のURLはcsvにして読み込んでいます。
<?php $fp = fopen('./rss.csv','r'); if($fp){ if(flock($fp,LOCK_SH)){ $sitestr = fgets($fp); flock($fp,LOCK_UN); }else{ } } $sites = split(',',$sitestr); $outdata = ""; foreach($sites as $site){ $rssdata = simplexml_load_file($site); $outdata .= "<li>"; $outdata .= "<a href=\""; $outdata .= $rssdata->item[0]->link; $outdata .= "\">"; $outdata .= $rssdata->item[0]->title; $outdata .= "</a>"; $outdata .= $rssdata->item[0]->description; $outdata .= "</li>\n"; } echo $outdata; ?>