scrapeのとこの改訂のお知らせ

http://diggin.googlecode.com/svn/trunk/library/Diggin/Scraper/
svnのコミット見れば分かるし、Digginライブラリ自体誰も使ってなさそうのでどうでも良いかもしれませんが、

現在のデフォルト(xmlobjectで読み込んでxpathで解析)の場合、
HTMLScraping Classを改造した以下のアダプター使うようにしましたのでお見知りおきください。*1
http://diggin.musicrider.com/libs/Diggin/Scraper/Adapter/Htmlscraping.phps
setStrategy("Diggin_Scraper_Strategy_Regex")などの場合は、整形しないRawアダプターで読み込んでるので関係ないです。


webscraperにはほど遠いですが、以下使い方。

via http://d.hatena.ne.jp/shimooka/20080222/1203659251

<?php
require_once 'Diggin/Scraper/Client.php';

$scraper = new Diggin_Scraper_Client("http://events.php.gr.jp/event.php/event_show/37");
$scraper->setStrategy("Diggin_Scraper_Strategy_Regex");
$scraper->process("#<li>募集人数:(\d{1,2})</li>#m", "capa")
        ->process("#<li>残り:(\d{1,2})#m", "remain")
        ->scrape();

print_r($scraper->scrapes["capa"][1][0]);
echo "\n";
print_r($scraper->scrapes["remain"][1][0]);
<?php
require_once 'Zend/Http/Client.php';
$client = new Zend_Http_Client();
$client->setCookieJar();

$client->setUri('http://www.hatena.ne.jp/login');
$client->setParameterPost('name', 'dankogai');
$client->setParameterPost('password', 'kogaidan');
$client->request('POST');

require_once 'Diggin/Scraper/Client.php';
$scraper = new Diggin_Scraper_Client();
$scraper->setHttpClient($client);
$scraper->process('//title', 'siteTitle')
        ->process('//div[@id="referer-list"]//a', 'referer') 
        ->scrape('http://d.hatena.ne.jp/sasezaki/edit?date=20080216');
print_r($scraper->scrapes);

*1:ライセンスの関係上、svnんとこにはコミットしてません。