一応メモしておきます。基本的には
の通りですが、
のコメ欄にあるように、MacPortsをインストールした後にターミナルを起動して
echo 'export PATH=$PATH:/opt/local/bin:/opt/local/sbin/' >> ~/.bashrc echo 'export MANPATH=$MANPATH:/opt/local/man' >> ~/.bashrc echo 'source ~/.bashrc' >> ~/.bash_profile
としてパスを通しておく必要があります。インストールにはそれほど時間はかからないはず。
pyaの(18+)は2007年7月31日で公開を停止したらしいので…。
# upgrade http://pya.cc/pyarss/rss2r0.xml author: Masafumi Otsune custom_feed_handle: http://pya\.cc/ custom_feed_follow_link: cnt2\.php\?uid=\d+ handle: http://pya\.cc/ extract: ((?:<(?:A Href|[iI]mg [sS]rc)=["']?http://125\.207\.177\.163/\d+/\w+/\w+\d+/[\d\w_/]+\.(?:gif|png|jpe?g|wmv)["']?[^>]*>)+) extract_capture: body
extractのアドレスを変えただけですが、多分これで大丈夫だと思います。
iPodにはカレンダーも入ってる事をすっかり忘れていました。
- 「コミックの発売日はつい忘れがちだ…」
- 「それiPodでチェックできるよ。」
SweetPotatoさん作のCustomFeed::Manganomoriで新刊リストを取得してPublish::iCalします。
plugins: - module: CustomFeed::Manganomori - module: Publish::iCal config: dir: /Users/hoge/Desktop/ filename: comiclist.ics
iCalに取り込みます。ToDoに欲しい物を入れておくと良いかと。
iPodを接続して、iTunesの左メニューから iPod>アドレスデータ>「iCalカレンダーを同期する」にチェック
で、こうなります。
1日ごとのリストも見れますが、あらかじめ欲しい物だけをToDoに入れておくと分かりやすいと思います。写真はToDoを開いた状態。
これで、電車の中などでチェックしておけば買い逃しはほぼなくなる…はず。
http://www.narinari.com/index.xml
handle_force: http://www\.narinari\.com/Nd/\w+ extract: (<P>Web posted at: (\d{4}/\d\d/\d\d \d\d:\d\d)<br>.*?)<! extract_capture: body date extract_date_format: %y/%m/%d/ %H:%M
match: narinari\.com rewrite: s/\?xml//g;
できました。そうそう、こういう事がやりたかったのです。ようやくPlaggerらしくなってきたと言うか。
SweetPotatoさんには感謝してもしきれないです。本当にありがとうございます!!
これでコミックを買い逃す事もなくなると思います…。
SweetPotato2006/11/23 01:47気に入って頂けたようで何よりです。これからもどうぞご利用ください。
acqua_alta2006/11/23 21:57本当に助かります。ありがたく使わせて頂きます…。
取得自体は簡単なのですが、RSSの古い記事が削除されないらしく、今のところ2005/03/31からのエントリ総数470件。これを毎回読み込むのはちょっと…(Ruleで何とか出来るのでしょうか)。
handle_force: http://column.chbox.jp/home/kiri/archives/blog/main/¥w+ extract: <h3>(.*?)</h3>.*?<h2>(.*?)</h2>.*?<div class="content">(.*?)</div> extract_capture: date title body
handle_force: http://column.chbox.jp/home/kiri/archives/blog/main/¥w+ extract_xpath: date: //h3 title: //h2 body: //div[@class="content"]
ここは全文入りで配信してますが、改行が無くて読み辛いので。
handle_force: http://www¥.hirokiazuma¥.com/¥w+ extract_xpath: title: //h3[@class="entrytitle"] body: //div[@class="blogbody"]
ブログなど、構造が明確なものはXpathを使うと抽出が簡単です。
handle: http://phpspot.org/blog/archives/¥w+ extract_xpath: title: /html/body//div[@class='content']/h3 body: /html/body//div[@class='entrybody'] date: /html/body//div[@class='content']/h2
handle: http://netafull.net/¥w+ extract: <h1>(.*?)</h1>(.*?)<div id="adsense"> extract_capture: title body
GIGAZINEはRSSを全文配信してくれないよね。(´・ω・`) …というわけで、RSSからEFTで全文取得します。
handle: http://gigazine.net/index.php¥?/news/comments/¥w+ extract: <h3 class="date">(.*?)</h3>.*?<h2 class="title">(.*?)</h2>(.*?)<br clear="all" /> extract_capture: date title body
全文取得できる上に、サイトのようにごちゃごちゃしてなくて圧倒的に見やすいです。これならGIGAZINEも悪くないかも?と思えてきます。ぜひお試しを。
match: http://yomogi.cubicplus.net/index-v.html extract: <hr.*?>(.*?)<hr.*?> extract_capture: body extract_encode: cp932
HWPSさん作のEFT用yamlを移植しただけなので意味があるのか分かりませんが、とりあえず。
match: http://hk.dmz-plus.com/ extract: <p class=date¥d?>(.*?)</p>(.*?)<hr size=3> extract_capture: title body extract_encode: cp932
毎日更新&TOPにログを残さないサイトなので、1日1回は実行しないと意味がないです…。EFTで過去ログから取得した方が良いかもですが。
match: http://initial-g.jp/ extract: <font color="#FFFFFF" size="2"><br />(.*?)<br />.*?<td height="90" bgcolor="#FFFFFF">(<div align="center">.*?</div>) extract_capture: title body extract_encode: cp932
match: http://www.ne.jp/asahi/asame/shinbun/ extract: <TD width="100%" vAlign=top bordercolor="#000000".*?>(.*?)<p align="center"> </p></td> extract_capture: body extract_encode: cp932
match: http://www1.odn.ne.jp/cjt24200/yamada/ extract: <TABLE cellpadding="10" cellspacing="5" width="65%">(.*?)<a href="http://px extract_capture: body extract_encode: cp932
match: http://www.sukumizu.jp/ extract: <FORM>(.*?<A name="(¥d{8})" href="(http://www.sukumizu.jp/#¥d{8})" target="_self">.*?)</FORM> extract_capture: body date link extract_encode: cp932 extract_date_format: %Y%m%d extract_after_hook: | $data->{title} = $data->{date};
ちゅるやさん☆わはー。
match: http://u-u.2-d.jp/ extract: (¥d{6} .*?log.htm">) extract_capture: body extract_encode: cp932 extract_after_hook: $data->{body} =~ s/ width="¥d{3}"//g;
match: http://www.apple-style.com/ extract: <td width="372" align="left"><a href="(.*?)" target="_blank">(.*?)</a></td>.*?<span class="style49">(.*?)</span> extract_capture: link title body extract_encode: cp932
match: http://www.rakugakidou.net/ extract: <table cellpadding="0" cellspacing="0" width="530" style="font-size:10pt; color:white; margin:4px;">(.*?<a name="(.*?)">(.*?)</a>.*?)<h4> extract_capture: body link title extract_encode: cp932 extract_after_hook: | $data->{link} = 'http://www.rakugakidou.net/#' . $data->{link} ; $data->{body} =~ s/h1|h2|h3|h6/p/g; $data->{body} =~ s/color="white"//g;
extract_after_hookでbody中のhタグをpタグに置換しているのがポイント。
match: http://maku.or.tv/ extract: <FONT SIZE="3" CLASS="maku"><FONT SIZE="4" CLASS="maku_title">(.*?)</FONT><BR>(.*?)<FONT SIZE="3" CLASS="maku"><A NAME="pulldown"></A></FONT> extract_capture: title body extract_encode: cp932
match: http://www.h-opera.com/ extract: <TABLE width="680" cellspacing="2" cellpadding="1">.*?<TD colspan="2" align="left" bgcolor="#333333"><B>(.*?)</B></TD>(.*?)<FORM.*?> extract_capture: title body extract_encode: cp932 extract_after_hook: $data->{body} =~ s/bgcolor=”#333333”//g;
match: http://hw001.gate01.com/karzu/ extract: <BR><HR><U><FONT SIZE=5><A NAME="(..)"><A HREF="#.."target="_self">(.*?)</A></A></FONT></U><HR><br>(.*?)<!--.*?--> extract_capture: link title body extract_encode: cp932 extract_after_hook: $data->{link} = 'http://hw001.gate01.com/karzu/#' . $data->{link}
match: http://www.pluto.dti.ne.jp/rinou/ extract: <div class="head"><a name="(.*?)" href=".*?" style="color:#ffff00">(.*?)</a></div>(.*?)<div class="head">menu</div> extract_capture: link title body extract_encode: cp932 extract_after_hook: $data->{link} = 'http://www.pluto.dti.ne.jp/rinou/#' . $data->{link}