大学ロボコンのホームページの更新を通知してくれるtwitterアカウント作りました。

投稿者: | 2013年11月22日

https://twitter.com/roboconupdate

ソースコードはこんなかんじです。twitterではなくメーリスに送信するようにすると割と便利です。

# -*- coding: utf-8 -*-

import urllib2
import re

import os

import tweepy
from os import path

import smtplib
from email.MIMEText import MIMEText
from email.Header import Header
from email.Utils import formatdate

consumer_key = ""
consumer_secret = ""
access_key = ""
access_secret = ""

if __name__ == '__main__':

	FILE_PATH = path.dirname( path.abspath( __file__ ) ) + "/" + "roboconupdate.txt"	

	flag = os.path.exists(FILE_PATH)
	if flag:
		f = open(FILE_PATH, 'r') # 読み込みモードで開く
		txt = f.read() # 読み込む
		f.close() # ファイルを閉じる
	else:
		print "No file exist."
		txt =""

	response = urllib2.urlopen('http://www.official-robocon.com/daigaku_news.txt')
	html = response.read()

	html = html.replace('<br>', '\n')

	p = re.compile(r"<[^>]*?>")
	html = p.sub("", html)  #正規表現を用いてHTMLタグを削除

	if txt != html:
		content =  html.split("\n",1)[0]
		print content

		auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
		auth.set_access_token(access_key, access_secret)
		api = tweepy.API(auth_handler=auth)
		api.update_status(content)
		
		f = open(FILE_PATH, 'w') # 書き込みモードで開く
		f.write(html) # ファイルに書き込む
		f.close() # ファイルを閉じる

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です