最終兵器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にしてるんで。

2006-11-05

[][]Tentative Name (Ver 2) Tentative Name (Ver 2) - 最終兵器Plagger を含むブックマーク

以前のものだとLDRでは具合は良かったんですが、Google Readerだとpreタグのおかげでブロック内で行が折り返さない状態だったので修正。

match: http://mew5.com/
author: Tennetiss
extract: <A name=([^>]*)></A>.*?<font color="#ffffff">(.*?)</font></td></table>[\n]<pre>(.*?)</pre>[\n]<A name=\d\d\d\d
extract_capture: link title body
extract_encode: cp932
extract_after_hook: |
  $data->{link} = 'http://mew5.com/#' . $data->{link};
  $data->{body} =~ s/[\n]/<br>/g;

pre内を引っこ抜いて、改行をbrにreplace。

あとlink取ってなかったのを修正しました。恥ず・・・

2006-09-09

[][] Hjk/変人 Hjk/変人窟 - 最終兵器Plagger を含むブックマーク

CustomFeed::Config用、

変人窟のyaml

http://www.henjinkutsu.net/

match: http://www.henjinkutsu.net/
extract: <p><a name="\d\d/\d\d" .*?></a>(.*?)</p>.*?<blockquote>.*?<blockquote>(.*?)</blockquote>[\r\n|\n][ ]*</blockquote>[\r\n|\n][ ]*<hr>
extract_capture: title body
extract_encode: cp932
extract_after_hook: $data->{link} = 'http://www.henjinkutsu.net/' . $data->{link}

実はさっき楽画喜堂もやって、パターンはとれたんだけど、エントリ内にtableが多いのはまだしも、見出し以外の本文とかもh#タグ使ってるので、Publish::Gmailするとかなり悲惨なことになった。全ての文字がデカイ。

なので、これは専用のCustomFeedこしらえて置換しまくった方がいいぽいかなあ。

あと以前書いたegone.yamlはあまりうまくいってないっぽいので、なんとかします。

2006-08-31

[][]TentativeName TentativeName - 最終兵器Plagger を含むブックマーク

11/5 追記

以下のハンドラだといまいち、という方はこちら。

--------------

otsuneさんからご指摘いただいたので早速CustomFeed::Configで書き直しました。

CustomFeed::ConfigはSeacolorさんの2006-08-20 - Seacolor Labs. - Plaggerグループよりいただきました。

assets/plugins/CustomFeed-Config/sarasiru.yaml

match: http://mew5.com/
extract: <A name=[^>]*></A>(.*?<font color="#ffffff">(.*?)</font></td>.*?)<A name=\d\d\d\d
extract_capture: body title
extract_encode: cp932
extract_after_hook: $data->{link} = 'http://mew5.com/' . $data->{link}

config.sarasiru.yaml

  - module: Subscription::Config
    config:
        feed:
          - http://mew5.com/

  - module: CustomFeed::Config

Publishはお好きなもので。


[][]golgo31 golgo31 - 最終兵器Plagger を含むブックマーク

assets/plugins/CustomFeed-Config/golgo31.yaml

match: http://www.golgo31.net/
extract: <tr><td align=left valign=top width="548" bgcolor=.*?>.*?<b><font color=.*?><a name="(\d\d\d\d\d\d)".*?</font>(.*?)</font></b></td></tr>.*?(<font color="#006600">.*?</font>)</td></tr>
extract_capture: link title body
extract_encode: cp932
extract_after_hook: $data->{link} = 'http://www.golgo31.net/#' . $data->{link}

config.golgo31.yaml

  - module: Subscription::Config
    config:
        feed:
          - http://www.golgo31.net/

  - module: CustomFeed::Config
    config:
        title: golgo31

[][]Katoyuu Katoyuu - 最終兵器Plagger を含むブックマーク

assets/plugins/CustomFeed-Config/katoyuu.yaml

match: http://www6.ocn.ne.jp/~katoyuu/
extract: <TABLE BGCOLOR="#5173e6" WIDTH="100%" BORDER="0" CELLSPACING="2" CELLPADDING="0"><TR>.*?<TD.*?>.*?(<P><A NAME="\d\d\d\d"><FONT.*?>(.*?)</FONT>.*?)</TD></TR></TABLE>
extract_capture: body title
extract_encode: cp932
extract_after_hook: $data->{link} = 'http://www6.ocn.ne.jp/~katoyuu/' . $data->{link}


config.katoyuu.yaml

  - module: Subscription::Config
    config:
        feed:
          - http://www6.ocn.ne.jp/~katoyuu/

  - module: CustomFeed::Config
    config:
        title: カトゆー家断絶

[][]egone egone - 最終兵器Plagger を含むブックマーク

egoneに関しては、下のCustomFeed::egoneのままでいいかなと思ってます。クリックカウンタを殺す関係上。(酷

追記訂正:

といいつつ、結局作った。(照り

ただ、これだとみひろくんの雑記を取りに行けないんですよね。うーん。

パターンの違うエントリを同時に生成できないもんかなあ。feed分けてしまえば可能だけどそれはなんだかスマートじゃない気がする。

assets/plugins/CustomFeed-Config/egone.yaml

match: http://egone.org/
extract: <tr bgcolor="#4050A0">.*?<a href="(.*?)"><font.*?>(.*?)\(.*?(<p .*?)</td>
extract_capture: link title body
extract_encode: cp932
extract_after_hook: $data->{link} = 'http://egone.org/' . $data->{link}

config.egone.yaml

  - module: Subscription::Config
    config:
        feed:
          - http://egone.org/

  - module: CustomFeed::Config
    config: