SweetPotato::Plagger このページをアンテナに追加 RSSフィード

2007-02-07

[][][] scraper and upgrader FC2絵日記  scraper and upgrader FC2絵日記 - SweetPotato::Plagger を含むブックマーク はてなブックマーク -  scraper and upgrader FC2絵日記 - SweetPotato::Plagger  scraper and upgrader FC2絵日記 - SweetPotato::Plagger のブックマークコメント

断片部から移動。元の記事は削除し,はてブでフォロー。

FC2絵日記の絵日記(例えばサンプル絵日記)を解析し,日付ごとにエントリ化する。そして本文を取得する。

実はFC2絵日記はなんでもRSSが使えるんだけど,折角ということで。

assets/plugins/CustomFeed-Config/fc2diary.yaml

元のYAMLをXPath化。iconにはエモティコンをセット。

# author: SweetPotato
match: http://diary\d*\.fc2\.com/cgi-sys/ed\.cgi/[-\w]+/$
extract_xpath:
  date: //table[@border='0' and @cellpadding='0' and @cellspacing='2' and not(@width)]//font/text()
  icon: //table[@border='0' and @cellpadding='0' and @cellspacing='2' and not(@width)]//img/@src
  link: //table[@border='0' and @cellpadding='0' and @cellspacing='2' and not(@width)]//a/@href
  title: //table[@border='0' and @cellpadding='0' and @cellspacing='2' and not(@width)]//a/text()
extract_date_format: %Y/%m/%d
extract_date_timezone: Asia/Tokyo
extract_after_hook: |
  use URI;
  ($data->{link}, $data->{icon}) = map {
    URI->new_abs($_, $args->{feed}->url)->as_string
  } ($data->{link}, $data->{icon});

assets/plugins/Filter-EntryFullText/fc2diary.yaml

# author: SweetPotato
handle: http://diary\d*\.fc2\.com/cgi-sys/ed\.cgi/[-\w]+/\?Y=\d{4}&M=\d{1,2}&D=\d{1,2}$
extract_xpath:
  body: //table[@cellpadding='6' and @width='100%']

config.fc2diary.yaml

plugins:
  - module: Subscription::Config
    config:
      feed:
        - url: http://diary.fc2.com/cgi-sys/ed.cgi/sample/
  - module: CustomFeed::Config
  - module: Filter::EntryFullText
  - module: Filter::ResolveRelativeLink
トラックバック - http://plagger.g.hatena.ne.jp/SweetPotato/20070207