Home > Keiba | feedparser | python | twitter > ラジオNIKKEI競馬実況webのNEWSを配信するTwitterBotを作りました

ラジオNIKKEI競馬実況webのNEWSを配信するTwitterBotを作りました

17年近く競馬をやっていた私が、結婚してからいうもの、すっかり馬券を買わなくなっていたのですが、去年の年末に東京大賞典だけ購入しました。結果は駄目でしたが、やはり競馬は面白いね!ということで、いつも予想時に参考にしているラジオNIKKEI競馬実況webのニュースをTwitterに配信するBOTを作りました。

http://twitter.com/keiba_news

配信は1時間に1回にしています(レンタルサーバのcronジョブの最短間隔が1時間なので)。例によってコードを晒します。このコードはPython2.4と2.5で動作確認をしています。また、RSSのパースにfeedparserを、Twitter投稿にpython-twitter(依存関係でsimplejsonも必要)を使用しています。

# coding: utf-8
from time import *
import email.Utils
import feedparser
from twitter import Api as TwitterApi

def file_open(f):
    r = open(f,'r')
    latest_date = r.readline()
    r.close()
    return latest_date

def parse_feed(u):
    data = feedparser.parse(u)
    feed = []
    for entry in data.entries:
        feed.append([entry.date, entry.title, entry.link])
    feed.reverse()
    return feed

def main(feed, latest_date):
    for i in feed:
        entry_date, entry_title, entry_link = i[0], i[1], i[2]
        entry_date = localtime(mktime(email.Utils.parsedate(entry_date)) + 32400)
        entry_date = strftime('%Y/%m/%d %H:%M',entry_date)
        if latest_date < entry_date:
            api = TwitterApi(TWITTER_USERNAME, TWITTER_PASSWORD)
            post = u"%s %s %s" % (entry_date, entry_title, entry_link)
            api.PostUpdate(post)
            latest_date = entry_date
    return latest_date

def file_close(f, l):
    w = open(f, 'w')
    w.write(str(l))
    w.close()

if __name__ == '__main__':
    TWITTER_USERNAME = 'TWITTER_ACCOUNT'
    TWITTER_PASSWORD = 'PASSWORD'
    FILE = 'radionikkei_status.txt'
    URL = 'http://keiba.radionikkei.jp/keiba/rss2/news/'
    latest_date = file_open(FILE)
    feed = parse_feed(URL)
    latest_date = main(feed, latest_date)
    file_close(FILE, latest_date)

なんか無理矢理、関数組んじゃったりしてますが、とりあえず動いてます><
というわけで、ついったったーで競馬好きな方がいらっしゃいましたらFollowしてやって下さい。

参考サイト

Comments:0

Comment Form
Remember personal info

Trackbacks:0

Trackback URL for this entry
http://aoshiman.net/weblog/2009/01/04/radinikkei-twitterbot/trackback/
Listed below are links to weblogs that reference
ラジオNIKKEI競馬実況webのNEWSを配信するTwitterBotを作りました from “南船北馬”

Home > Keiba | feedparser | python | twitter > ラジオNIKKEI競馬実況webのNEWSを配信するTwitterBotを作りました

Search
Feeds
Meta

Return to page top