今私は小さな魚だけれど

ちょっぴり非日常な音楽を紹介するブログです

【プログラミング】電波ソングbotのコードを更新しました

Pythonで実装、python-twitterを利用しています。自動でYoutube及びニコニコ動画のURLをAPI叩いてチェックし、リンク切れしていたら次のURLをツイートするという仕組みになっています。

仕組みはこちらの記事に書いてあるものと同じです。

>>【Twitter】@kayourock に自動リンク切れチェック機能を実装しました - 歩いたら休め

ニコニコ動画APIは@kantoku009さんに教えていただきました。ありがとうございます。

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

import twitter

import urllib

import random

import secret

api = twitter.Api(

consumer_key = secret.twDict['consumer_key'],

consumer_secret = secret.twDict['consumer_secret'],

access_token_key = secret.twDict['access_token_key'],

access_token_secret = secret.twDict['access_token_secret']

)

f = open('data.txt')

data1 = f.read()

f.close()

datas1 = data1.split('\n')

random.shuffle(datas1)

for data in datas1:

print data

data_split = data.split("http://")[1]

is_youtube = data_split.startswith("youtu.be")

is_nico = data_split.startswith("nico.ms")

if is_youtube:

pic_api = data_split.replace("youtu.be/",

"http://gdata.youtube.com/feeds/api/videos/")

f = urllib.urlopen(pic_api)

url_open = f.read()

if url_open.startswith("""<?xml version='1.0'"""):

api.PostUpdate(data)

break

elif is_nico:

pic_api = data_split.replace("nico.ms/",

"http://ext.nicovideo.jp/api/getthumbinfo/")

f = urllib.urlopen(pic_api)

url_open = f.read()

if url_open.startswith("""<?xml version="1.0" encoding="UTF-8"?>\n<nicovideo_thumb_response status="ok">"""):

api.PostUpdate(data)

break

else:

#print data

api.PostUpdate(data)

break