TVerのAPI利用方法についての記事を追加

This commit is contained in:
Kazuhiro MUSASHI 2022-09-04 21:31:51 +09:00
parent 68848f5845
commit 80133c4921
1 changed files with 118 additions and 0 deletions

View File

@ -0,0 +1,118 @@
+++
title = "TVerのAPIを利用してダウンロードできる番組を取得する"
date = 2022-09-04T21:27:43+09:00
description = "nomadのCSIストレージを利用してみましたよ。democratic-csiでSynology NASを利用します"
tags = ["nomad"]
categories = ["インフラ", "HashiCorp"]
author = "kazu634"
images = ["ogp/2022-01-09-using-democratic-csi-for-nomad.webp"]
+++
[TVerの新着番組をRSSで見る 阿Qさんと一緒](https://blog.srytk.com/aquei/763.html)を参考に粛々と`curl`で動作するか試してみました。これを利用すると、公開されている番組を1000件取得するみたいです。基本的には公開されていない方法のようなので、これを使ってマッシュアップサイトを作ったりするのはNGに見えます。。
<!--more-->
## トークン的なものを作成する
`https://platform-api.tver.jp/v2/api/platform_users/browser/create`にアクセスして、トークンを作成するようです:
```shell
% curl -w '\n' 'https://platform-api.tver.jp/v2/api/platform_users/browser/create' --data 'device_type=pc' -XPOST | jq .
{
"api_version": "v2",
"code": 0,
"message": "",
"type": "hash",
"result": {
"platform_uid": "59e4ad1c38fc463f8436304d412d3dc2262b",
"platform_ad_uuid": "a4f0f584-ecf0-4ae9-a546-2b812a16d81e",
"platform_token": "whfwp5uuj8h5fqfz4e3jymzfdb335150zkxezn7p",
"browser_id": "r0xclt0f4bfo2t6e7pfcey08277hhw6reap9",
"device_type": "pc",
"agreement_version": ""
}
}
```
返却されるのは、下の`json`形式のようです:
```json
{
"api_version": "v2",
"code": 0,
"message": "",
"type": "hash",
"result": {
"platform_uid": "59e4ad1c38fc463f8436304d412d3dc2262b",
"platform_ad_uuid": "a4f0f584-ecf0-4ae9-a546-2b812a16d81e",
"platform_token": "whfwp5uuj8h5fqfz4e3jymzfdb335150zkxezn7p",
"browser_id": "r0xclt0f4bfo2t6e7pfcey08277hhw6reap9",
"device_type": "pc",
"agreement_version": ""
}
}
```
## 番組情報を取得する
こんなコマンドを実行するといいです:
```shell
% curl -w '\n' 'https://platform-api.tver.jp/service/api/v1/callSearch?platform_uid=59e4ad1c38fc463f8436304d412d3dc2262b&platform_token=whfwp5uuj8h5fqfz4e3jymzfdb335150zkxezn7p&require_data=later' -H 'x-tver-platform-type: web' | jq .
```
結果はこんな`json`で返ってきます:
```json
{
"type": "episode",
"content": {
"id": "epp7y4r9mc",
"version": 5,
"title": "【コント傑作選】初登場3組が参戦!後藤と濱家が慕う“ねえさん”なるみが厳しく後輩たちのネタをジャッジ!",
"endAt": 1662303540,
"broadcastDateLabel": "5月21日(土)放送分",
"isNHKContent": false,
"isSubtitle": false,
"ribbonID": 0,
"seriesTitle": "防犯カメラが捉えた!衝撃コント映像",
"isAvailable": true,
"broadcasterName": "ABCテレビ",
"productionProviderName": "ABCテレビ"
},
"isLater": false,
"favoriteCount": 26081,
"endAt": 1662303540,
"tags": [
{
"id": "abc",
"name": "ABCテレビ"
},
{
"id": "exnetwork",
"name": "テレビ朝日系"
},
{
"id": "owarai",
"name": "お笑い・漫才・コント"
},
{
"id": "sat",
"name": "土"
},
{
"id": "talk",
"name": "トーク・スタジオバラエティ"
},
{
"id": "variety",
"name": "バラエティ"
},
{
"id": "vtr",
"name": "VTR・ロケ番組"
}
]
}
```
## 最後に
これと[yt-dlp: A youtube-dl fork with additional features and fixes](https://github.com/yt-dlp/yt-dlp)を組み合わせると、[TVer \- 無料で動画見放題](https://tver.jp/)で公開されている番組をさくっとダウンロードできる仕組み作りできるのでは。。