前提・実現したいこと
Youtubeで特定のチャンネル内でキーワード検索をしたい。
Jupyter notebook 上で上記のことを実現したいと思い不慣れながらYouTube Data API v3 を導入。Pythonで記入してみた。
例としてホロライブ公式チャンネルで投稿されているアニメのみを抽出したいと思い、まずは以下のコードを記入
#python 3.8.3 #jupyter-notebook : 6.0.3 from apiclient.discovery import build API_KEY = '自分のAPIkey' youtube = build('youtube', 'v3', developerKey=API_KEY) search_response = youtube.search().list( part='snippet', q='アニメ', order='viewCount', type='video', ).execute() search_response['items'][0]
問題なくJSON形式で返ってきた。
{'kind': 'youtube#searchResult', 'etag': 'h1-Yh-rx3pdhAid3YqqgBEO556s', 'id': {'kind': 'youtube#video', 'videoId': '2pECnr5MNuU'}, 'snippet': {'publishedAt': '2019-07-10T15:00:00Z', 'channelId': 'UCY5fcqgSrQItPAX_Z5Frmwg', 'title': 'TVアニメ「ダンベル何キロ持てる?」OPテーマ Muscle Video', 'description': 'TVアニメ「ダンベル何キロ持てる?」OPテーマ「お願いマッスル」 歌:紗倉ひびき(CV:ファイルーズあい)&街雄鳴造(CV:石川界人)/街雄鳴造(CV:石川界人) 2019年7月24 ...', 'thumbnails': {'default': {'url': 'https://i.ytimg.com/vi/2pECnr5MNuU/default.jpg', 'width': 120, 'height': 90}, 'medium': {'url': 'https://i.ytimg.com/vi/2pECnr5MNuU/mqdefault.jpg', 'width': 320, 'height': 180}, 'high': {'url': 'https://i.ytimg.com/vi/2pECnr5MNuU/hqdefault.jpg', 'width': 480, 'height': 360}}, 'channelTitle': 'KADOKAWAanime', 'liveBroadcastContent': 'none', 'publishTime': '2019-07-10T15:00:00Z'}}
当然チャンネルIDを指定していないのでホロライブとは関係のない動画が検索結果として出てきてしまった。そのためIDも記入してこれで絞り込みができると思いきや、、、
#python 3.8.3 #jupyter-notebook : 6.0.3 from apiclient.discovery import build API_KEY = '自分のAPIkey' id_= "UCJFZiqLMntJufDCHc6bQixg" #hololive 加えたもの youtube = build('youtube', 'v3', developerKey=API_KEY) search_response = youtube.search().list( part='snippet', id=id_, #加えたもの q='アニメ', order='viewCount', type='video', ).execute() search_response['items'][0]
エラーが出てしまった。
発生している問題・エラーメッセージ
--------------------------------------------------------------------------- TypeError Traceback (most recent call last) <ipython-input-22-1be1a85a803e> in <module> 6 youtube = build('youtube', 'v3', developerKey=API_KEY) 7 ----> 8 search_response = youtube.search().list( 9 part='snippet', 10 id=id_, ~\anaconda3\lib\site-packages\googleapiclient\discovery.py in method(self, **kwargs) 1017 for name in kwargs: 1018 if name not in parameters.argmap: -> 1019 raise TypeError('Got an unexpected keyword argument {}'.format(name)) 1020 1021 # Remove args that have a value of None. TypeError: Got an unexpected keyword argument id
試したこと
「id」が予期せねキーワードであることが分かったが、ID指定をしないと絞込検索ができないためどうしようもない。
Teratail初投稿なので回答はお手柔らかにお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/10/28 15:51