前提:YouTubeDataAPIを使える(APIキーを取得している)こと
YouTubeDataAPIはGETするだけなのでURLだけ以下に示す。
言語が何であれGET方式である以上、やるべきことはURLの作成にすぎない。
指定のチャンネルがライブ中かどうか取得:
https://www.googleapis.com/youtube/v3/search?key=[APIキー]&part=snippet&channelId=[チャンネルID]&eventType=live&type=video
これをプログラムで投げる。
結果はJSONで返ってくるので、中を見れば欲しい情報がどこにあるかは分かるはず。
チャンネルID(UCから始まるやつ)が不明なら、HTMLのitemprop="channelId"のあたりを調べればいい。
※ブラウザからページのソースを表示で確認できる
取得したチャンネルIDが正しいかは以下で確認。
https://www.youtube.com/channel/[チャンネルID]
コーディングする前に手動でURLを作成し、ブラウザで投げれば動作確認できる。
※パラメータの仕様確認だけなら以下のリファレンスから可能
https://developers.google.com/youtube/v3/docs?hl=ja
APIの制限(クオータ)でsearchだと1日100回程度まで。
クオータを節約したいなら事前にYouTubeのRSSを調べるとよい。
YouTubeの指定のチャンネルのRSS:
https://www.youtube.com/feeds/videos.xml?channel_id=[チャンネルID]
方針として、YouTubeの規約でスクレイピング(というより自動的な問い合わせ)が禁止されているので、
RSSでクオータを節約しつつ、更新があればAPIで問い合わせする感じ。