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

2007-12-09

[][] upgrader for EFT 無表情 改訂版  upgrader for EFT 無表情 改訂版 - SweetPotato::Plagger を含むブックマーク はてなブックマーク -  upgrader for EFT 無表情 改訂版 - SweetPotato::Plagger  upgrader for EFT 無表情 改訂版 - SweetPotato::Plagger のブックマークコメント

漫画(マンガ)情報サイト《無表情》以前のサイトから移転して,サイト構造も微妙に変わってるっぽかったので以前のWeb::Scraperを書き直そうと思ったんだけど,面倒になったのでEFTだけ新しくしてCustomFeed::Simpleでシンプルにハックすることにした。

assets/plugins/Filter-EntryFullText/muhyojo.pl

# author: SweetPotato

sub custom_feed_handle {
    my ($self, $args) = @_;
    $args->{feed}->url =~ qr!^http://(?:www\.)?muhyojo\.com/(?:index\.html?)?$!;
}

sub custom_feed_follow_link {
    qr!/publisher/.*?#\d+$!
}

sub handle {
    my ($self, $args) = @_;
    $args->{entry}->link =~ qr!^http://(?:www\.)?muhyojo\.com/publisher/[-\w]+/[-\w]+/(?:index\.html?)?#\d+$!;
}

sub extract {
    my ($self, $args) = @_;

    my ($name) = ($args->{entry}->link =~ /#(\d+)$/) or return;
    my ($data) = ($args->{content} =~ m!(<legend[^>]*><a name="?$name"?>.*?)</fieldset>!s) or return;
    $data;
}

config.muhyojo.yaml

plugins:
  - module: Subscription::Config
    config:
      feed:
        - url: http://www.muhyojo.com/

  - module: Filter::EntryFullText
  - module: Filter::ResolveRelativeLink

  - module: Filter::Rule
    rule:
      module: Expression
      expression: length($args->{entry}->title->plaintext) > 1
トラックバック - http://plagger.g.hatena.ne.jp/SweetPotato/20071209