Pythonで実装、python-twitterを利用しています。自動でYoutube及びニコニコ動画のURLをAPI叩いてチェックし、リンク切れしていたら次のURLをツイートするという仕組みになっています。
仕組みはこちらの記事に書いてあるものと同じです。
>>【Twitter】@kayourock に自動リンク切れチェック機能を実装しました - 歩いたら休め
ニコニコ動画のAPIは@kantoku009さんに教えていただきました。ありがとうございます。
@dempa_bot ニコニコ動画のAPIで「getthumbinfo」がある模様。動画が無いとこんなXMLが返ってくる。<nicovideo_thumb_response status="fail"> ニコニコ大百科 http://t.co/Ciq8AEjLtu
— かんとく (@kantoku009) April 20, 2014
# -*- coding: utf-8 -*-
import twitter
import urllib
import random
import secret
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