【Python】ニコニコ動画のAPIを使って動画情報を取得する

この記事は約3分で読めます。

 

getthumbinfoでニコニコ動画の情報をAPIで取得

 

getthumbinfoの使い方は以下のURLに動画番号を入れてリクエストを送るだけ。ユーザー登録してAPI鍵を取得する必要などはないので簡単で叩ける

 

https://ext.nicovideo.jp/api/getthumbinfo/sm~

 

試しに適当な動画情報をPythonのAPIを使って取得してみる

 

import requests
import json
url = https://ext.nicovideo.jp/api/getthumbinfo/sm23225630
res = requests.gets(url)
print(res)

 

 

sm23225630は玄米法師のアイネクライネ。試しにこの動画の動画情報を取得してみる。ちょっとめんどくさいのがよくあるJSON形式ではなくXML形式で返ってくる点。

 

 

XMLとは?

 

XMLはExtensible Markup Languageの略称。マークアップ言語(Markup Language)なのでHTMLの親戚みたいなもの。ちなみにXMLはどのように使われているかというと、次の例があげられます。

 

  • アプリケーション間でデータのやりとりを行う用途
  • アプリケーションの設定ファイル

 

HTMLでは<p>とか<div>とかブラウザが解釈できるタグしか使うことができません。ですが、XMLではユーザーが独自にタグを定義して追加することができるというのが特徴の1つです。(それが解析する側からするとめんどくさい・・・)

 

 

スポンサーリンク
スポンサーリンク

requestsを用いたPythonによるXML処理

 

import requests
from xml.etree import ElementTree
url = 'https://ext.nicovideo.jp/api/getthumbinfo/sm23225630'
response = requests.get(url)
tree = ElementTree.fromstring(response.content)
response = requests.get(url, stream=True)
response.raw.decode_content = True
events = ElementTree.iterparse(response.raw)
for event, elem in events:
    print('タグ:', elem.tag, elem.attrib)
    print('テキスト:', elem.text)
    print('-----------------------------\n')

 

 

 

<実行結果>

 

 

こんな感じでPython を用いてXML形式のAPIレスポンスの解析も行うことができます。jsonの方が扱いやすいので、jsonにしてほしいところではありますが、、、

 

 

<オススメ参考書>

 

 

 

コメント

タイトルとURLをコピーしました