Androidのメモとか

ポキオの日記です。今日も遅延してない。

京急の運行情報を取得するスクリプトをpythonで書く(unko.py)

京急の運行情報を取得するスクリプト

京急を愛してやまない。めったに遅延することがない安定感は素晴らしいものがあります。それ故に、たまに遅延すると結構面食らってしまうことも。

unkou.keikyu.co.jp

というわけで、スクリプトを書きました。ホントはJSONとかで取得できる口があればいいのですが、なさそうなのでHTMLをそのままパースします。

コーディングします

pythonは不慣れなので、クソコードであることを予めご承知おきください。ポイントはdivタグのunko-panelのボデーに運行情報が書かれているので、そこだけ抽出します。

import urllib2
from HTMLParser import HTMLParser

unko = ""

class UnkoParser(HTMLParser):
    def __init__(self):
        HTMLParser.__init__(self)
        self.flag = False
        
    def handle_starttag(self, tag, attrs):
        if tag == "div":
            attrs = dict(attrs)
            if 'class' in attrs:
                className = attrs['class']
                if className == 'unko-panel':
                    self.flag = True
    
    def handle_data(self, data):
        if self.flag:         
            global unko
            unko = unko + data
        
    def handle_endtag(self, tag):
        self.flag = False
    

url = "http://unkou.keikyu.co.jp/"
response = urllib2.urlopen(url)

parser = UnkoParser()
parser.feed(response.read())
print unko.replace("\n", "")

response.close()

ウンコじゃないです、運行です。

いざRun。

京急運行情報

平常運転ですね。ε-(´∀`*)ホッ
Raspberry PiのGPIOと組み合わせれば夢が広がりますね。

入門 Python 3

「Androidのメモとか」は、Amazon.co.jpを宣伝しリンクすることによってサイトが紹介料を獲得できる手段を提供することを目的に設定されたアフィリエイト宣伝プログラムである、Amazonアソシエイト・プログラムの参加者です。

このブログは個人的なメモ書きであったり、考えを書く場所であります。執筆者の所属する団体や企業のコメントや意向とは無関係であります。また、このブログは必ずしも正しいことが書かれているとは限らず、誤字脱字や意図せず誤った情報を載せる場合がありえます。それが原因で読者が不利益を被ったとしても、執筆者はいかなる責任も負いません。ありがとうございます。