最終兵器Plagger RSSフィード

2006-12-08

[][][]ソフトバンククリエイティブ GA Graphic ソフトバンククリエイティブ GA Graphic - 最終兵器Plagger を含むブックマーク

--追記 12/9/06

yamlが正しく表示されたりされなかったりしたんでちょいと修正しました。

--

ソフトバンククリエイティブ GA Graphicを購読

http://ga.sbcr.jp

老舗故かfeed吐いてそうではいてないんで。

indexタイトル羅列で毎日のエントリ数自体はやたら多いわけではないので、CustomFeed::Configでtitleとlinkを取得。そしてlinkからEFTbody取得。


EFTが二つあるのは、g-toysのみhtmlテンプレートが違うため。

ざっくり取ってきてafter_hookで泥臭いパースするのもアリアリなんだけど、EFTが一方でhandleできなかったら別のupgraderを使うというcool仕様なので、二つ用意してみた。


assets/plugin/Filter-EntryFullText/sbcr.yaml

# GA Graphic  http://ga.sbcr.jp
author: Tennetiss
handle: http://ga\.sbcr\.jp/[^g].*
extract: <!--本文 //-->(.*?)<!--本文 end //-->
extract_capture: body

assets/plugin/Filter-EntryFullText/sbcr2.yaml

# GA Graphic  http://ga.sbcr.jp/g-toys/*
author: Tennetiss
handle: http://ga\.sbcr\.jp/g-toys/.*
extract: <!-- NEWS END -->(.*?)<!--MOVE-->
extract_capture: body

assets/plugin/CustomFeed-Config/sbcr.yaml

# http://ga.sbcr.jp/
author: Tennetiss
match: http://ga\.sbcr\.jp/.*
extract: <h3 class="title"><a href="(.*?)">(.*?)</a>
extract_capture: link title
extract_encode: cp932
extract_after_hook: |
  $data->{link} =~ s!\./!!g;
  $data->{link} = "http://ga.sbcr.jp/" . $data->{link};

config.sbcr.yaml(の一部)

plugins:

  - module: Subscription::Config
    config:
      feed:
        - http://ga.sbcr.jp/

  - module: Filter::EntryFullText
    config:
      store_html_on_failure: 0
      force_upgrade: 1
  - module: Filter::ResolveRelativeLink

  - module: CustomFeed::Config

#  - module: Filter::BreakEntriesToFeeds
  - module: Filter::Rule
    rule:
      module: Deduped


g-toysは特に、写真が多いためかtableタグが大量に入ってるので、readerによってはややレイアウトが崩れ気味になるけど。EFTではよくあること!

実際、table内のwidthだけひっこぬいてみたりしたんだけど、あまり効果的とは言えなかったので、下手に弄らないことにした。


entryごとに日付が書いてあったらそれを取りたかったんだけど。


ちなみに、PublishをGmailにすると、初期(キャッシュなし)状態だと200は超えるくらいのentryができちゃうんで、BreakEntriesToFeeds使ってgmailsmtpを使う場合、たぶん怒られる。(自分の場合はpublish::gmailsendmail(というかexim)なので試してない。)

breakしないで送ると、クソでっかいメールになるんで、やっぱり怒られるかも。試してない。

個人的にはこれも含めてほとんどはPublish::Feedにしてるんで。

ゲスト



トラックバック - http://plagger.g.hatena.ne.jp/akaiho/20061208