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

2007-09-17

[][] scraper for CustomFeed::Config FlexComix ブラッド 修正 00:30  scraper for CustomFeed::Config FlexComix ブラッド 修正 - SweetPotato::Plagger を含むブックマーク はてなブックマーク -  scraper for CustomFeed::Config FlexComix ブラッド 修正 - SweetPotato::Plagger  scraper for CustomFeed::Config FlexComix ブラッド 修正 - SweetPotato::Plagger のブックマークコメント

ページ構造が変わっていたようなのでXPathを修正した。

トラックバック - http://plagger.g.hatena.ne.jp/SweetPotato/20070917

2007-08-04

[][] scraper for CustomFeed::Config MOON PHASEを修正  scraper for CustomFeed::Config MOON PHASEを修正 - SweetPotato::Plagger を含むブックマーク はてなブックマーク -  scraper for CustomFeed::Config MOON PHASEを修正 - SweetPotato::Plagger  scraper for CustomFeed::Config MOON PHASEを修正 - SweetPotato::Plagger のブックマークコメント

サイト構造が変化していたので修正。1文字だけだけど。

トラックバック - http://plagger.g.hatena.ne.jp/SweetPotato/20070804

2007-06-26

[][] scraper for CustomFeed::Config 一迅社インフォメーション 18:48  scraper for CustomFeed::Config 一迅社インフォメーション - SweetPotato::Plagger を含むブックマーク はてなブックマーク -  scraper for CustomFeed::Config 一迅社インフォメーション - SweetPotato::Plagger  scraper for CustomFeed::Config 一迅社インフォメーション - SweetPotato::Plagger のブックマークコメント

先日,一迅社公式サイトがリニューアルされて,各雑誌のインフォメーションページが設置された。そのページを切り出すscraper。

assets/plugins/CustomFeed-Config/ichijinsha_information.yaml

日本語を使用しているのでUTF-8(BOMなし)で保存すること。

また,extract_after_hookにおけるリンクの絶対化は,Filter::AbsolutizeEntryLinkの使用で置き換えられる。

# author: SweetPotato
match: http://www\.ichijinsha\.co\.jp/[-\w]+/information/(index\.html?)?$
extract_xpath:
  link:  //div[@id='main']/div[last()]/a/@name
  date:  //div[@id='main']/div[last()]/div[@class='date']/text()
  title: //div[@id='main']/div[last()]/div[@class='detail']/h4/text()
  body:  //div[@id='main']/div[last()]/div[@class='detail']
extract_date_format: %Y年%m月%d日
extract_date_timezone: Asia/Tokyo
extract_after_hook: |
  # remove title <h4>
  $data->{body} =~ s!<h4>.*?</h4>!!;
  # absolutize entry link by Filter::AbsolutizeEntryLink
  # $data->{link} = '#'.$data->{link};
  # absolutize entry link by myself
  use URI;
  $data->{link} = URI->new_abs('#'.$data->{link}, $args->{feed}->url)->as_string;

config.ichijinsha_information.yaml

コメントアウトの誤りを修正。

plugins:
  - module: Subscription::Config
    config:
      feed:
        - url: http://www.ichijinsha.co.jp/zerosum/information/
        - url: http://www.ichijinsha.co.jp/rex/information/
        - url: http://www.ichijinsha.co.jp/palette/information/
        - url: http://www.ichijinsha.co.jp/yurihime/information/
        - url: http://www.ichijinsha.co.jp/zerosum/information/
        - url: http://www.ichijinsha.co.jp/charamel/information/

  - module: CustomFeed::Config

# - module: Filter::AbsolutizeEntryLink
  - module: Filter::ResolveRelativeLink
トラックバック - http://plagger.g.hatena.ne.jp/SweetPotato/20070626

2007-06-10

[][][] scraper and upgrader 新文化 02:56  scraper and upgrader 新文化 - SweetPotato::Plagger を含むブックマーク はてなブックマーク -  scraper and upgrader 新文化 - SweetPotato::Plagger  scraper and upgrader 新文化 - SweetPotato::Plagger のブックマークコメント

出版業界紙・新文化の色々なコンテンツをPlaggerで。

assets/plugins/CustomFeed-Config/shinbunka_newsflash.yaml

トップページのニュースフラッシュ。

# author: SweetPotato
match: http://www\.shinbunka\.co\.jp/(?:index\.html?)?$
extract_xpath:
  title:   //span[@class='bold-midashi']/text()
  body:    //span[@class='bold-midashi']/../../../following-sibling::tr/td/p
  updated: //span[@class='bold-midashi']/../../../../../../following-sibling::tr/td/span
extract_after_hook: $data->{body} .= $data->{updated}

assets/plugins/CustomFeed-Config/shinbunka_joholog.yaml

情報掲示板

# author: SweetPotato
match: http://www\.shinbunka\.co\.jp/joholog\.html?$
extract_xpath:
  title:   //td[@width='600' and @bgcolor='#FAEBD7']/div[2]/b[1]/text()
  body:    //td[@width='600' and @bgcolor='#FAEBD7']/div[2]
  updated: //td[@width='600' and @bgcolor='#FAEBD7']/div[1]/font/text()
extract_after_hook: |
  $data->{body} .= $data->{updated};
  $data->{body} =~ s!<b.*?>.*?</b>.*?<br.*?>!!;

assets/plugins/Filter-EntryFullText/shinbunka_yell-rue.yaml

連載コラムルーエからのエール」。

# author: SweetPotato
custom_feed_handle: http://www\.shinbunka\.co\.jp/rensai/yell-ruelog\.html?$
custom_feed_follow_link: /rue\d+\.html?$
handle: http://www\.shinbunka\.co\.jp/rensai/yell-rue/rue\d+\.html?$
extract_xpath:
  title: //div[@class='bold-midashi']/text()
  body:  //div[@class='bold-midashi']/../../following-sibling::tr[2]/td
  date:  //div[@class='bold-midashi']/../../following-sibling::tr[2]/td/div/text()
extract_date_format: \(%Y/%m/%d\)
extract_date_timezone: Asia/Tokyo
extract_after_hook: $data->{body} =~ s!<td.*?>(.*)</td>!$1!

assets/plugins/Filter-EntryFullText/shinbunka_shuzainote.yaml

連載コラム取材ノート」。

# author: SweetPotato
custom_feed_handle: http://www\.shinbunka\.co\.jp/(?:shuzainote/)?shuzainotelog.*?\.html?$
custom_feed_follow_link: /\d+\.html?$
handle: http://www\.shinbunka\.co\.jp/shuzainote/\d+\.html?$
extract_xpath:
  title:  //h2
  body:   //h2/../../following-sibling::tr[2]/td
  author: //h2/../../following-sibling::tr[2]/td/p[@align='right'][1]/b/text()
  date:   //h2/../../following-sibling::tr[2]/td/p[@align='right'][1]/text()[last()]
extract_date_format: %Y/%m/%d
extract_date_timezone: Asia/Tokyo
extract_after_hook: |
  $data->{title} =~ s!<.*?>!!g;
  $data->{body} =~ s!<td.*?>(.*)</td>!$1!;
  $data->{date} = $1 if $data->{date} =~ m!(\d+/\d+/\d+)!;

assets/plugins/Filter-EntryFullText/shinbunka_henshucho.yaml

社長室

# author: SweetPotato
custom_feed_handle: http://www\.shinbunka\.co\.jp/(?:henshucho/)?henshucholog.*?\.html?$
custom_feed_follow_link: /hen\d+\.html?$
handle: http://www\.shinbunka\.co\.jp/henshucho/hen\d+\.html?$
extract_xpath:
  title:  //h2
  body:   //h2/../../following-sibling::tr[2]/td
  author: //h2/../../following-sibling::tr[2]/td/p[@align='right'][1]/b/text()
  date:   //h2/../../following-sibling::tr[2]/td/p[@align='right'][2]/text()
extract_date_format: %Y\x{FF0F}%m\x{FF0F}%d
extract_date_timezone: Asia/Tokyo
extract_after_hook: |
  $data->{title} =~ s!<.*?>!!g;
  $data->{body} =~ s!<td.*?>(.*)</td>!$1!;
  $data->{date} = $1 if $data->{date} =~ m!(\d+\x{FF0F}\d+\x{FF0F}\d+)!;

config.shinbunka.yaml

plugins:
  - module: Subscription::Config
    config:
      feed:
         - url: http://www.shinbunka.co.jp/
         - url: http://www.shinbunka.co.jp/joholog.htm
         - url: http://www.shinbunka.co.jp/rensai/yell-ruelog.htm
         - url: http://www.shinbunka.co.jp/shuzainotelog.htm
#        - url: http://www.shinbunka.co.jp/shuzainote/shuzainotelog001-030.htm
         - url: http://www.shinbunka.co.jp/henshucholog.htm
#        - url: http://www.shinbunka.co.jp/henshucho/henshucholog001-035.htm
  - module: CustomFeed::Config
  - module: Filter::ForcePermalink
  - module: Filter::EntryFullText
  - module: Filter::ForceTimeZone
    config:
      timezone: Asia/Tokyo

Filter::ForcePermalinkについては以下の記事を参照。

トラックバック - http://plagger.g.hatena.ne.jp/SweetPotato/20070610

2007-03-24

[][] scraper for CustomFeed::Config 最後通牒 漫画家サイン会情報 00:13  scraper for CustomFeed::Config 最後通牒 漫画家サイン会情報 - SweetPotato::Plagger を含むブックマーク はてなブックマーク -  scraper for CustomFeed::Config 最後通牒 漫画家サイン会情報 - SweetPotato::Plagger  scraper for CustomFeed::Config 最後通牒 漫画家サイン会情報 - SweetPotato::Plagger のブックマークコメント

最後通牒漫画家サイン会情報ページを解析し,サイン会ごとにエントリ化する。

assets/plugins/CustomFeed-Config/saigotsucho_sign.yaml

日本語を使用しているので,UTF-8(BOMなし)で保存すること。

# author: SweetPotato
match: http://comiclove\.at\.infoseek\.co\.jp/cgi-bin/sche11/sche11\.cgi
extract: (<a name="(.*?)">.*?(<td.*?<b>(.*?)<font.*?</td>).*?</table>.*?</table>)
extract_capture: body link title date
extract_date_format: %Y年%m月%d日
extract_date_timezone: Asia/Tokyo
extract_after_hook: |
  use URI;
  $data->{link} = URI->new_abs('#'.$data->{link}, $args->{feed}->url)->as_string;
  $data->{title} =~ s!<.*?>!!g;

config.saigotsucho_sign.yaml

plugins:
  - module: Subscription::Config
    config:
      feed:
        - url: http://comiclove.at.infoseek.co.jp/cgi-bin/sche11/sche11.cgi?year=2007&mon=3
        - url: http://comiclove.at.infoseek.co.jp/cgi-bin/sche11/sche11.cgi?year=2007&mon=4
  - module: CustomFeed::Config

関連

トラックバック - http://plagger.g.hatena.ne.jp/SweetPotato/20070324