鱧技術

hamo_daisukiの技術メモ

youtube DATA API v3 を泥臭く使ってみた

GCPの無料枠でも youtube DATA API v3 を使えるらしいので、curl でデータとってきていろいろやりたいなーと思い、試してみました。(特捜部Qの動画をつらつらとリストにしてみたいけど「手作業でやるのは面倒だ」と思っただけですが)

で、世の中には youtubeAPI を使いたい人は山ほどいるわけで、使い始めは以下のページを参考にしてセットアップしてみました。

qiita.comそれから、curl でリクエストしてみる。今回は下記のような感じで
パラメータの詳細は下記の資料で

developers.google.com

curl 'https://www.googleapis.com/youtube/v3/search?
     key=**********&
   type=video&
   part=snippet& q=特捜部Q& maxResults=50
order=date' >data.txt
  • key はAPIを使用する際の認証キーです
  • type で「動画」を指定。プレイリストなどは省きました
  • part でスニペットを指定。副題なども引っ張ってきます
  • q が検索キーワードです
  • maxResult で出力レコード数を設定します デフォルトでは5です
  • order で順番を新しい順にします

これを data.txt に出力します。下記のようなデータが出力されます
冒頭にヘッダがついていて、item からがデータになります

{
  "kind": "youtube#searchListResponse",
  "etag": "jQoNbldNpOM1FvOZ4FeFv_fsfpY",
  "regionCode": "JP",
  "pageInfo": {
    "totalResults": 16883,
    "resultsPerPage": 45
  },
  "items": [
    {
      "kind": "youtube#searchResult",
      "etag": "TTvlkDzuik0s35VwNkbOtXux618",
      "id": {
        "kind": "youtube#video",
        "videoId": "YvRiGqkBosg"
      },
      "snippet": {
        "publishedAt": "2022-08-16T14:57:50Z",
        "channelId": "UChbquxeZbaekDTvt313fs9w",
        "title": "大人気シリーズ第二弾!/映画『特捜部Q キジ殺し』予告編",
        "description": "【映画紹介】ニコライ・リー・カース主演.",
        "thumbnails": {
          "default": {
            "url": "https://i.ytimg.com/vi/YvRiGqkBosg/default.jpg",
            "width": 120,
            "height": 90
          },
          "medium": {
            "url": "https://i.ytimg.com/vi/YvRiGqkBosg/mqdefault.jpg",
            "width": 320,
            "height": 180
          },
          "high": {
            "url": "https://i.ytimg.com/vi/YvRiGqkBosg/hqdefault.jpg",
            "width": 480,
            "height": 360
          }
        },

title を grep すると、こんな感じ

        "title": "大人気シリーズ第二弾!/映画『特捜部Q キジ殺し』予告編",
        "title": "未解決事件の真相に挑む!/映画『特捜部Q 檻の中の女』予告編",
        "title": "キャスト変更で大騒ぎ!、の未体験ゾーンの映画たち2022『特捜部Q知りすぎたマルコ』を解説します。",

ちなみに1日100回までは検索無料で、カウンタのリセットは16時です

ちょっとデータがほしいだけなら、リファレンスページの「試してみる」を実行すれば良いです。手作業感があれなので、cron なんかで定期的にデータがほしいときには向かないですね(seleniumでゴニョゴニョ...かえって面倒か)