「はてなスター」チェックにチャレンジ
http://perl-mongers.org/2008/07/post_4.html
<?php $username = 'XXXXXXXXXXXXXXXXXXXXX'; $password = 'PerlDaisuki'; require_once 'Diggin/Scraper.php'; require_once 'Zend/Http/Client.php'; require_once 'Zend/Json.php'; $client = new Zend_Http_Client(); $client->setCookieJar(); $client->setUri('http://www.hatena.ne.jp/login'); $client->setParameterPost('name', $username); $client->setParameterPost('password', $password); $client->request('POST'); $s = new scraper(); $s->process('a', 'title => "TEXT"', 'link => "@href"'); $scraper = new Diggin_Scraper(); $scraper->setHttpClient($client); $scraper->changeStrategy('Diggin_Scraper_Strategy_Selector') ->process('span.entry-title', array('stars[]' => $s)) ->scrape("http://s.hatena.ne.jp/$username/report"); foreach ($scraper->stars as $star) { ?> <a href="<?php echo $star['link'];?>"></a><?php echo $star['title']; ?></a><br> <?php $link = str_replace('#', rawurlencode('#'), $star['link']); $client = new Zend_Http_Client('http://s.hatena.ne.jp/entries.json?uri='.$link); $decode = Zend_Json::decode($client->request()->getBody()); $entry = current($decode['entries']); foreach ($entry['stars'] as $es) { if(is_array($es)) echo $es['name']; echo " "; if(!is_array($es)) echo $es; echo " "; } echo "<hr>"; } ?>
はてなスター設置しなければチェックする手間が省けて経済的