Filter::EntryFullText "Yahoo!占い - 12星座占い"

 引き続き、Plaggerネタ。今度はFilter::EntryFullTextを使ってみた。
 仕事の合間などにチャットで同僚3人とYahoo!占い - 12星座占いをネタに息抜きしているのだけど、3人の運勢をタブブラウザで見比べるのがめんどくさい。なのでさっそくPlaggerでやろうとしました。
 が、まずひとつ目の躓き。星座ごとの運勢のページのURLに日付が入っているので、昨日やったみたいに固定のURLからデータを持ってくるということが出来ない。やれば出来るのかも知れないけど、ボクにはやり方が分からないので、それじゃあと一覧ページからそれぞれの星座へのページのリンクを指定して、リンク先のページからデータを持ってこようじゃないかと。
 コードはこんな感じ。毎朝会社に着いたらメーラーで読めるようにcronにセットしました。
 同僚は蠍座と水瓶座で、ボクが蟹座です。

assets/plugins/Filter-EntryFullText/yahoo_fortune.yaml

custom_feed_handle: http://fortune\.yahoo\.co\.jp/fortune/12astro/index\.html
custom_feed_follow_link: /fortune/12astro/[0-9]{8}/(cancer|scorpio|aquarius)\.html
handle: http://fortune\.yahoo\.co\.jp/fortune/12astro/[0-9]{8}/(cancer|scorpio|aquarius)\.html
extract: <!--copy-->.*?-<b>(.*?)</b>.*?<td valign=middle width="100%"> <b>(.*?)</b>.*?<img src="http://img.yahoo.co.jp/images/clear.gif" width="1" height="4" border="0"><br>(.*?)<!--kakin_link-->
extract_capture: title1 title2 body
extract_after_hook: $data->{title} = $data->{title1} . " : " . $data->{title2}

yahoo_fortune.yaml

plugins:
  - module: Subscription::Config
    config:
      feed:
       - http://fortune.yahoo.co.jp/fortune/12astro/index.html
  - module: Filter::EntryFullText
    config:
      store_html_on_failure: 1
comments powered by Disqus