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にしてほしいところではありますが、、、
<オススメ参考書>
加藤 耕太 技術評論社 2019年08月10日
コメント
[…] 参照記事:【Python】ニコニコ動画のAPIを使って動画情報を取得する […]