熊野古道(とYahoo!API)を使って何か(おっぱいとか、おっぱいとか)を集めるスクリプトを書こうと思ったけれど、力尽きた。だれかちゃちゃっと作ってくれないかな〜。とりあえず XPath をもとにして抽出する処理が必要だよな〜。とか思ったけど、眠いから寝る。朝日がまぶしい。
Plagger っぽいものを Python で。「熊野古道」というエントリーから始まった熊野古道プロジェクトなんですけど、(同時にそのエントリーでオレ様言語プロジェクトで終わったんだけど)その「熊野古道」がちっとも Plagger っぽくなりませんね。残念です。 Plagger っぽくならない理由はいくつかあるんだけど……とりあえず思いつく限りに列挙してみます。
もちろん、原因は小さい順に並んでいます。これじゃぁ Plagger っぽいものはできないはずです。でもそれじゃぁ悔しいので、なんとか Plagger のソースを眺めて、それっぽいものを作ってみました。冗談じゃなくて、ほんとに Perl が読めなくて、なんとなく雰囲気で sub は関数定義だろ?とか、use base なんとか〜は継承だろ?とか、{なんとか => なんとか} はハッシュだろ?とか勘で読めるあたりまでしか読んでないので、内部の構造とかはたぶん全然違います。ごめんなさい。とりあえず分かったことは、 Plagger を起動すると、 bootstrap -> run って順に入っていって、run でいろいろとホックした関数を呼び出してるってことだけです。ほんとごめんなさい。
でも、とりあえずそれっぽいものができたんで、よかったらどうぞ。眠い… http://kawasaq.from.tv/blog/Python/Kumanokodo/kumanokodo.html
### Kumanokodo Script Version 0.0
### Name
square
### End Name
### Dimension
0
### End Dimension
### Function
def func(params):
params[""] = int(params[""])*int(params[""])
return params
### End Function
### End Kumanokodo Script Version 0.0
帰り支度をするまえにライブドアのページで電車の運行状況を調べておくと幸せになれる気がします。というわけで、席を立つ前にこんなスクリプトを回しています。「熊野古道」風に書くとこんな感じです。まぁ、普通にデータを引っ張ってきてるだけですが。
### Kumanokodo Script Version 0.0
### Name
livedoorTraffic
### End Name
### Dimension
0
### End Dimension
### Function
def func(params):
url = "http://transit.livedoor.com/traffic_info/kantou"
from urllib import urlopen
from lxml import etree
parser = etree.HTMLParser(remove_comments=True, remove_blank_text=True)
html_page = etree.parse(urlopen(url), parser)
root = html_page.getroot()
trafficinfos = root.xpath(".//*[@class='trafficinfo']")
res =[]
while trafficinfos:
r = {}
r["date"] = trafficinfos.pop(0).text
r["line"] = trafficinfos.pop(0).text
r["news"] = trafficinfos.pop(0).text
res.append(r)
return res
### End Function
### End Kumanokodo Script Version 0.0
こういのを作っておいて、この間の熊野古道をインポートして
from kumanokodo import *
res = run(("livedoorTraffic",),{})
for i in filter(lambda x: not x["news"].find(u'ほぼ平常通り運転しています。') , res):
for key, val in i.items():
print key,":", val
print "**********"
っていうスクリプトを動かすと、「ほぼ平常通りに運転しています」じゃない路線について教えてくれます。こういう細々としたスクリプトをうまく熊野古道でまとめたいんだけど、書き直すのは、意外と面倒。
自己紹介工場ってサイトを mixi のキーワードランキングで知った。「自分がちょっとした目的のために作ったプログラムを日記のように記録していったら、これは実行可能な自己紹介になるな〜」と思っていたところだったので、もうそういうサービスがあるのかと思ってしまった。もちろん違った。残念。
ちなみに、そのサービスによると私は、「遅刻しても気付かれないかわさっくです。よろしく。」