2006-12-10
■ [EntryFullText]GameSpot 
(英語です。)
gamespot_com.yaml
#upgrade GameSpot http://www.gamespot.com/news/ author: Tennetiss handle: http://(\w+)\.gamespot\.com/news/.* extract: (<h5 class=.*?>.*?)<div class="storybtns"> extract_capture: body
config(part of)
- module: Subscription::Config config: feed: - http://www.gamespot.com/misc/rss/index.html
2006-12-08
■ [CustomFeed][Config][EntryFullText]ソフトバンククリエイティブ GA Graphic 
--追記 12/9/06
yamlが正しく表示されたりされなかったりしたんでちょいと修正しました。
--
ソフトバンククリエイティブ GA Graphicを購読
老舗故かfeed吐いてそうではいてないんで。
indexはタイトル羅列で毎日のエントリ数自体はやたら多いわけではないので、CustomFeed::Configでtitleとlinkを取得。そしてlinkからEFTでbody取得。
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使ってgmailのsmtpを使う場合、たぶん怒られる。(自分の場合はpublish::gmailはsendmail(というかexim)なので試してない。)
breakしないで送ると、クソでっかいメールになるんで、やっぱり怒られるかも。試してない。
個人的にはこれも含めてほとんどはPublish::Feedにしてるんで。
2006-11-12
■ [Filter][EntryFullText]Excite Bit 
http://www.excite.co.jp/News/bit/
# upgrade http://www.excite.co.jp/News/xml/rss_excite_news_bit_index_utf_8.dcg author: Tennetiss handle_force: http://www\.excite\.co\.jp/News/bit/ extract: (<table border="0" cellspacing="0" cellpadding="1" align="left">.*?<DIV class=lh140>.*?</DIV>) extract_capture: body
2006-11-09
■ [Plagger]IM関係 
MSN Messengerに送るプラグインって無いのかな?というわけでちょっと書いてみた。 - ヒルズで働くholidays-lの技ログ
同じように、実は昨日からGoogleTalkに更新通知できないもんかな?と、Net::JabberとGoogleTalkのAPI関係ハックしてたんです。それで、さきほど完成したんで、bot化しよーかとNotify::IRCとか読みつつググってたら既にそのものがあった↓、しかもはるかに高機能というオチ。
なんで初見の時スルーしてたんだろ・・・我ながら不思議。作る前にググるべきな俺。
とても便利に使わせてもらっております。テンプレートまで込みなところもナイス。
ボクの労力は車輪のなんたらになってしまったわけだけど、XMPPの勉強になったし何より楽しかったっす・・・!
捕捉紹介をすると、これのGoogleTalkの良いところは、PlaggerユーザーはGMailを使用してる人が多い(はず)なので、問答無用でGoogleTalkが使えるというところかな。 GMailのサイドバーにあるチャット機能はGoogleTalkなわけで。Gmailさえ開いておけば、Notifyしてもらえる。
Gmailは一応は複垢禁止という事だったような気はするけど、なぜか複数持ってる人もたくさん居るし、そうでなくてもGFYD(Google app for your domain)のユーザーならいくらでもアカウント作れる。ボクもGFYDでボットアカウント作って、そこから送ってます。というわけでGFYDでも動きます。
あと、jabber.orgとかのアカウントからもGmailにNotifyできますよ。