ページの更新日を Google に聞いてくるスクリプトの書き方がわからない
あるページの更新日を Google に聞きたい。
Web::Scraper の scraper スクリプトを使って試してみたのだが、いまひとつわからない。
"mato.me" について検索してみたところ。
scraper> process 'div.s', 'results[]' => scraper { process 'span', 'date' => 'TEXT'; process 'cite', 'page' => 'TEXT'; } scraper> y --- results: - date: 2008年11月10日 page: mato.me/ - date: 2008年11月12日 page: mato.me/policy.html - date: 2010年10月20日 page: d.hatena.ne.jp/unau/20101021/1287624176 - date: 2011年3月27日 page: ameblo.jp/apricot42/entry-10843196987.html - date: 2008年11月10日 page: unau.mato.me/ - date: 2008年3月29日 page: blogmato.me/育児板拾い読み@2ch/entry.php?id=22578 - date: 2011年4月1日 page: blogmato.me/ニコニコVIP2ch/entry.php?id=23231 - date: 2011年4月1日 page: blogmato.me/ハムスター速報/entry.php?id=28974 - date: 2011年3月17日 page: narea.imato.me/feed_entries/3 - date: 2011年3月17日 page: narea.imato.me/feed_entries/17
と、page と更新日の組は取れるには取れている。
でも、なぜ取れているのかがよくわからない。
「<div class="s">」の子要素には更新日が「<span class="f std">」で入っている。ので、本当なら「process 'span.f,std'」で取り出したい。なのに、そうすると値が取れなくなる。なぜだかわからない。「<div class="s">」の子要素には「<span class="c"><cite>」があって、URL が格納されている。だったら、単に「process 'span'」とやったら、更新日も URL も取れてしまうような気がするのだが、実際には更新日だけしか取れていない。この理屈もわからない。
困った。