otsune's SnakeOil RSSフィード

python -c "print''.join([chr(x) for x in 111&1101,110+~-~11,10^11*11,110+~-~11,-~101,-~11^11*11,~-110,111&11*11,11+11+10,11|~-0110,1-~11^11*11,10^11*11,-~11^11*11,110,101])"

2009-01-16

「江頭2:50のpppするぞ」向けのscraper書いてgit format-patchで投げた

| 「江頭2:50のpppするぞ」向けのscraper書いてgit format-patchで投げた - otsune's SnakeOil  を含むブックマーク はてなブックマーク - 「江頭2:50のpppするぞ」向けのscraper書いてgit format-patchで投げた - otsune's SnakeOil  「江頭2:50のpppするぞ」向けのscraper書いてgit format-patchで投げた - otsune's SnakeOil  のブックマークコメント

わざわざgithubでforkする必要なくね? という github で人のコードをいじる「前」にforkする必要はない - Bulknews::Subtech - subtechの手法を試してみるのをかねて。

git clone git://github.com/miyagawa/remedie.git

して手元にgitリポジトリを持ってきて。

んでroot/plugins/tfmplus.com/scraper-ppp.plというファイルを書いて

git add root/plugins/tfmplus.com/scraper-ppp.pl

git commit

でローカルのoriginにコミットしておいて。

git format-patch

すると0001-Add-scraper-for-egashira.patchみたいにファイルに吐き出される。

通常はメールでそのpatchファイルを開発者に投げるが、今回は手を抜いてgistyで0001-Add-scraper-for-egashira.patch ? GitHubに貼ってIRCで報告した。

From 84cb172c78a37447fed916d1846be8d65692709d Mon Sep 17 00:00:00 2001
From: Masafumi Otsune <info@otsune.com>
Date: Fri, 16 Jan 2009 09:32:08 +0900
Subject: [PATCH] Add scraper for egashira

---
 root/plugins/tfmplus.com/scraper-ppp.pl |   19 +++++++++++++++++++
 1 files changed, 19 insertions(+), 0 deletions(-)
 create mode 100644 root/plugins/tfmplus.com/scraper-ppp.pl

diff --git a/root/plugins/tfmplus.com/scraper-ppp.pl b/root/plugins/tfmplus.com/scraper-ppp.pl
new file mode 100644
index 0000000..de2c52d
--- /dev/null
+++ b/root/plugins/tfmplus.com/scraper-ppp.pl
@@ -0,0 +1,19 @@
+# http://www.tfmplus.com/ppp/
+sub init {
+    my $self = shift;
+    $self->{handle} = "/ppp/";
+}
+
+sub build_scraper {
+    scraper {
+        process  '//table[@width="850" and descendant::a[contains(@href,".asx")] ]', 'entries[]' => scraper {
+            process 'td.day', title => 'TEXT';
+            process 'td.font11p', body => 'TEXT';
+            process '//a[contains(@href, ".asx")]', enclosure => [ '@href',
+            sub { +{ url => $_, type => 'video/x-ms-asf' } } ];
+            process 'id("index7_r1_c1")', thumbnail => [ '@src', sub { +{ url => $_ } } ];
+            process '//a[contains(@href, ".asx")]', link => '@href';
+        };
+        process 'title', title => 'TEXT';
+    };
+}
-- 
1.6.0.4

確かにpluginファイルをちょっと追加する程度ならローカルgitリポジトリにgit commitしておいて、git patchを投げる程度でいいかも。

トラックバック - http://subtech.g.hatena.ne.jp/otsune/20090116