「TVerの新着番組をRSSで見る」を参考に粛々とcurl
で動作するか試してみました。これを利用すると、公開されている番組を1000件取得するみたいです。基本的には公開されていない方法のようなので、これを使ってマッシュアップサイトを作ったりするのはNGに見えます。。
https://platform-api.tver.jp/v2/api/platform_users/browser/create
にアクセスして、トークンを作成するようです:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| % curl -w '\n' -H 'Accept: */*' -H 'Referer: https://s.tver.jp/' -H 'Origin: https://s.tver.jp' -H 'Content-Type: application/x-www-form-urlencoded' -H 'Connection: keep-alive' -H 'Sec-Fetch-Dest: empty' -H 'Sec-Fetch-Mode: cors' -H 'Sec-Fetch-Site: same-site' '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": "secret-secret-secret",
"platform_ad_uuid": "secret-secret-secret",
"platform_token": "secret-secret-secret",
"browser_id": "r0xclt0f4bfo2t6e7pfcey08277hhw6reap9",
"device_type": "pc",
"agreement_version": ""
}
}
|
返却されるのは、下のjson
形式のようです:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| {
"api_version": "v2",
"code": 0,
"message": "",
"type": "hash",
"result": {
"platform_uid": "secret-secret-secret",
"platform_ad_uuid": "secret-secret-secret",
"platform_token": "secret-secret-secret",
"browser_id": "r0xclt0f4bfo2t6e7pfcey08277hhw6reap9",
"device_type": "pc",
"agreement_version": ""
}
}
|
一つ前で取得した以下の情報を利用します:
platform_uid
platform_token
こんなコマンドを実行するといいです:
1
| % curl -w '\n' 'https://platform-api.tver.jp/service/api/v1/callSearch?platform_uid=secret-secret-secret&platform_token=secret-secret-secret&require_data=later' -H 'x-tver-platform-type: web' | jq .
|
結果はこんなjson
で返ってきます:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
| {
"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・ロケ番組"
}
]
}
|
具体的な検索キーワードがある場合には、「&keyword=ワンピース」みたいな形でURLに追加してあげるとOKのようです。
これとyt-dlp: A youtube-dl fork with additional features and fixesを組み合わせると、TVerで公開されている番組をさくっとダウンロードできる仕組み作りできるのでは。。