pythonでニコ生アラートAPIにログインする
Page not found · GitHubに整理したコードぶち込みました.
ニコ生アラート(本家)の仕様とは (ニコナマアラートホンケノシヨウとは) [単語記事] - ニコニコ大百科の内容通りに書いてみた.
xml2dictっていうxmlからpythonのディクショナリに変換するライブラリを使っています.
#!/usr/bin/env python # -*- coding: utf-8 -*- import urllib2 import urllib import xml2dict from pprint import pprint mail = 'YOUR_MAIL_ADDRESS' password = 'YOUR_NICONICO_PASSWORD' xml = xml2dict.XML2Dict() query = {'mail':mail, 'password':password} res = urllib2.urlopen('https://secure.nicovideo.jp/secure/login?site=nicolive_antenna', urllib.urlencode(query)) res_data = xml.fromstring(res.read()) # sample res_data #{'nicovideo_user_response': {'status': {'value': 'ok'}, # 'ticket': {'value': 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'}, # 'value': '\n\t'}} ticket = res_data.nicovideo_user_response.ticket query = {'ticket':ticket} res = urllib2.urlopen('http://live.nicovideo.jp/api/getalertstatus', urllib.urlencode(query)) res_data = xml.fromstring(res.read()) # sample res_data #{'getalertstatus': {'communities': {'community_id': {'value': 'co9320'}}, # 'ms': {'addr': {'value': 'twr02.live.nicovideo.jp'}, # 'port': {'value': '2532'}, # 'thread': {'value': 'xxxxxxxxxx'}}, # 'status': {'value': 'ok'}, # 'time': {'value': '1324980560'}, # 'user_age': {'value': '19'}, # 'user_hash': {'value': 'xxxxxxxxxxxxxxxxxxxxxxxxxxx'}, # 'user_id': {'value': 'xxxxxxxx'}, # 'user_name': {'value': 'miettal'}, # 'user_prefecture': {'value': '12'}, # 'user_sex': {'value': '1'}}} pprint(res_data)