最終兵器Plagger RSSフィード

2006-10-17

[][]USフロントライン USフロントライン - 最終兵器Plagger を含むブックマーク

U.S. FrontlineのEFTなんたら。

http://www.usfl.com/

結構手強かった・・・

xpathでハマりがあったんで一応メモっておきます。

下にもあるとおり、

/html/body//td[2]/table//td[2]/table[2]//td

と処理してるんだけど、これは展開した形だと

/html/body/table/tbody/tr[2]/td/center/table[3]/tbody/tr/td[2]/table/tbody/tr/td[2]/table[2]/tbody/tr/td

なのだけど、これだとエラーが出る。明確な理由まではわからなかった。自分の中では「とにかく長いのはダメ」ということにしておいた・・・。短すぎてもダメだった。

after_hookでやってるのは、tdだけ浮いてしまうのでそれの削除と、一部の記事には最後に他の記事の目次がなぜか入ってるので、それをカット

最後にfontタグを閉め。(cococみたいにエントリを全部繋げて見せるリーダの場合、font閉め忘れてるエントリが一つあると悲惨な事になる)

あともう一つ、configの方。

user_agentを詐称しないとダメだった。html自体とってこれない(usfl側ではじいてる)。

なので、何か適当ブラウザで読みに行ってることにすると吉。(下例ではIE6)

usfl.yaml

author: Tennetiss
handle: http://www\.usfl\.com
extract_xpath:
  body: /html/body//td[2]/table//td[2]/table[2]//td
extract_after_hook: |
  $data->{body} =~ s!<td.*?>!!sg;
  $data->{body} =~ s!</td>!!sg;

  if( $data->{body} =~ m!(.*?)_/.*?!s ){
    $data->{body} = $1 . '</font>';
  }


config.usfl.yaml(の一部) part1


global:
  user_agent:
    agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows XP)

part2


  - module: Subscription::Config
    config:
      feed:
        - http://www.usfl.com/rss/usfl.rdf

  - module: Filter::EntryFullText

otsuneotsune2006/10/26 10:35handle:をhandle_force:に変えた物をcommitしていいですか?

akaihoakaiho2006/10/26 18:46はい、どれでもcommitしていただいて構いませんよ!

akaihoakaiho2006/10/26 18:50改変もご自由にどうぞ。原型留めないほどの魔改造とか。authorも変えたりとか。