|
|
||
# http://karetta.jp/blog/.* author: yhara handle_force: http://karetta\.jp/article/blog/\w+/\d+ extract: (<h3>.*?)<div id='page-footer'> extract_capture: body
# http://www.geekpage.jp/blog/
author: yhara
handle_force: http://www\.geekpage\.jp/blog/\?id=.*
extract: <div class="main">(.*?)<a name="comment">
extract_capture: body
extract_after_hook: $data->{body} =~ s!<div style="text-align:right; padding-right:50px;">.*?</div>!!sg; $data->{body} =~ s!<hr>\r?\n<BR>\r?\n<table border="0" cellpadding="0" width="90%">.*?</table>!!sg
2ch のplagger中級スレッドより( http://pc11.2ch.net/test/read.cgi/software/1148515419/441-442n )
441 :名無しさん@お腹いっぱい。:2007/02/14(水) 20:15:37 ID:yjNdbPjQ0
doblogのblogから画像入り全文を取得するにはどうすればいいんだろう。
1記事1ページになってないからEFTで上手く取得できないんだけど。
442 :名無しさん@お腹いっぱい。:2007/02/15(木) 12:54:43 ID:RQFMjCTD0
>441
sub handle_force {
my ($self, $args) = @_;
$args->{entry}->link =~ qr{^http://www\.doblog\.com/weblog/};
}
sub extract {
my ($self, $args) = @_;
my $name = URI->new($args->{entry}->link)->fragment;
if ($args->{content} =~ m/<a name="$name".*?>.*?<div class="blog-scene">(.+?)<div class="blog-entry-footer">/s) {
return "<div>$1</div>";
}
return;
}
EFTにこれをwww_doblog_com.plとかでコピー。1箇所でしか試してないからダメかもしれない。
うまく動いてる模様。
(5/13修正 日付とタイトルの取り方が間違ってた)
# http://practical-scheme.net/wiliki/wiliki.cgi?Shiro author: yhara match: http://practical-scheme.net/wiliki/wiliki.cgi\?Shiro extract: <strong>\((\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \w{3}) ?(.*?)\)</strong\n>((?:(?!<strong>|<hr /><div align="right">).)*) extract_capture: date title body extract_after_hook: $data->{title} = $data->{date} unless $data->{title}; $data->{link} = "http://practical-scheme.net/wiliki/wiliki.cgi?Shiro";
(以下古いやつ)
# http://practical-scheme.net/wiliki/wiliki.cgi?Shiro author: yhara match: http://practical-scheme.net/wiliki/wiliki.cgi\?Shiro extract: <strong>\((\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} .*?)\)</strong\n>((?:(?!<strong>|<hr /><div align="right">).)*) extract_capture: date body extract_after_hook: $data->{title} = $data->{date}; $data->{link} = "http://practical-scheme.net/wiliki/wiliki.cgi?Shiro";
ハワイ時間もちゃんと扱ってくれるのがPlaggerクオリティ。
普通にやるとタイトルが入らないので (※なんでだろう?extract_titleに失敗している?)、手動で設定してください。
例:
plugins: - module: Subscription::Config config: feed: - url: http://practical-scheme.net/wiliki/wiliki.cgi?Shiro title: Shiro - module: CustomFeed::Config
(5/13 修正)
rev.2
# http://lovelove.rabi-en-rose.net/ author: yhara handle_force: http://lovelove\.rabi-en-rose\.net/blog\.php\?n=\d+ extract: <a href=\./blog.php\?n=\d+>#</a> (\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}) - ls<br><br><br>(.*?)<font color=#006600>// Trackback URL</font> extract_capture: date body
以下古いやつ
rev.1
# http://lovelove.rabi-en-rose.net/ author: yhara handle_force: http://lovelove\.rabi-en-rose\.net/blog\.php\?n=\d+ extract: <a href=\./blog.php\?n=\d+>#</a> (\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2})<br><br><u>Written by ls</u> .*?<br><br><br>(.*?)<font color=#006600>// Trackback URL</font> extract_capture: date body
例: http://mp.i-revo.jp/comm.php/2105/
# http://mp.i-revo.jp/comm.php/2105/ author: yhara handle: http://mp\.i-revo\.jp/user\.php/\w+/entry/\d+\.html extract_xpath: body: //div[@id="bid_MPUserBlogEntryList"]
# http://bmmovie.hp.infoseek.co.jp/ author: yhara match: http://bmmovie.hp.infoseek.co.jp/top.html extract: (\d+)/(\d+)(?:<BR>\n)+((?:(?!\d+\/\d+|<!--Infoseek Analyzer).)*) extract_capture: m d body extract_after_hook: $data->{date} = Plagger::Date->new(year => Plagger::Date->now->year, month => $data->{m}, day => $data->{d}); $data->{title} = "$data-> {m}/$data->{d}"; $data->{link} = "http://bmmovie.hp.infoseek.co.jp/"; $data->{body} =~ s/(<BR>\n)+\z//;
改行が多いので、エントリ前後の空行は弾くようにした。
時刻の生成が汚い。がどうするもんか良くわからん。
Plagger::Plugin::Aggregator::Simple [info] Fetch http://bmt.cc/ Plagger::Cache [debug] Cache HIT: Aggregator-Simple|http://bmt.cc/ Plagger::Plugin::Aggregator::Simple [debug] 200: http://bmt.cc/ Plagger::Plugin::Aggregator::Simple [error] http://bmt.cc/ Plagger [error] http://bmt.cc/ is not aggregated by any aggregator
仕方がないので、[read more] 以下を諦めてCCを使うことに。
# bm terminus
author: yhara
match: http://bmt.cc/
extract: <h3 class="item"><a href="([^\"]*)">([^<]*)</a></h3>\s*<div class="itembody">((?:(?!<div class="iteminfo">).)*)
extract_capture: link title body
extract_encode: euc-jp
extract_after_hook: $data->{link} = "http://bmt.cc" . $data->{link};
最初、matchをhandleにしてて数十分悩んだ。orz
# Hello, world! author: yhara handle: http://rails.office.drecom.jp/takiuchi/archive/\d+ extract_xpath: body: //div[@class='entry-layer text']
これは簡単。