質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
YouTube API

YouTube APIはYouTubeのビデオコンテンツと機能性をウェブサイト、アプリケーション、デバイスに統合することを可能にします。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

760閲覧

【Python3】SQLの記入のない.execute()の意味について【YouTube API】

HukahukaMask

総合スコア1

YouTube API

YouTube APIはYouTubeのビデオコンテンツと機能性をウェブサイト、アプリケーション、デバイスに統合することを可能にします。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2021/12/08 09:12

編集2021/12/08 09:19

前提・実現したいこと

YouTube Data APIのサンプルコードを参考にして、指定された期間に特定のワードで検索した動画の再生数の多い順に上位10件の再生数、動画タイトル、動画URLを取得するPythonコードを作成しました。実行はGoogle Colaboratoryで行っています。

目的の結果は得られたのですが、サンプルを丸写しした部分の理解ができなくて困っています。

関数get_view_countの.execute()['items'][0]['statistics']['viewCount']と、
関数youtube_searchの.execute()は、

どういった処理をしているのでしょうか?ネットで.executeを検索するとデータベースにSQLを実行するためのもののように説明されている記事は見つけることができましたが、sqliteをimportしているわけでもないですし、括弧のなかに記入がない場合どう動くのかがよくわかりません。

回答いただけると助かります。またexecuteについて参考になる学習書やWebサイトがありましたらそれについても教えていただけると幸いです。

該当のソースコード

Python3

1from apiclient.discovery import build 2 3API_KEY = "ここにAPIキー" 4KEY_WORD = "検索ワード" 5MAX_RESULT = 10 6ORDER = "viewCount" 7 8youtube = build("youtube", "v3", developerKey=API_KEY) 9 10def get_view_count(id): 11 view_count = youtube.videos().list(part = 'statistics', id = id).execute()['items'][0]['statistics']['viewCount'] 12 return view_count 13 14pA ="2021-11-01T00:00:00Z" 15pB ="2021-12-01T00:00:00Z" 16def youtube_search(): 17 search_response = youtube.search().list( 18 q=KEY_WORD, 19 part="id,snippet", 20 maxResults=MAX_RESULT, 21 order=ORDER, 22 publishedBefore=pB, 23 publishedAfter=pA 24 ).execute() 25 26 videos = [] 27 for search_result in search_response.get("items", []): 28 if search_result["id"]["kind"] == "youtube#video": 29 view_count = get_view_count(search_result["id"]["videoId"]) 30 videos.append("%s,%s,%s,https://www.youtube.com/watch?v=%s,%s," % (pA,pB,view_count.rjust(10), search_result["id"]["videoId"], 31 search_result["snippet"]["title"])) 32 with open('dougatitle.csv', 'a',encoding='utf_8_sig') as f: 33 print("\n".join(videos),file=f) 34 35if __name__ == "__main__": 36 youtube_search()

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

ネットで.executeを検索するとデータベースにSQLを実行するためのもののように説明されている記事は見つけることができましたが

それとは全く無関係です。使用しているYouTube参照用ライブラリの詳細を確認してみましょう。

投稿2021/12/08 09:18

maisumakun

総合スコア146018

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問