質問編集履歴
3
データ取得はできたが、読みとけない箇所がある為
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
YouTube APIで閲覧回数
|
1
|
+
YouTube APIで特定キーワードの閲覧回数を収集する
|
body
CHANGED
@@ -1,48 +1,55 @@
|
|
1
|
-
YouTubeの閲覧回数の検索結果を取得し、スプレッドシートに出力をしたいです。
|
2
|
-
|
1
|
+
Pythonを学習しております。
|
3
2
|
|
4
|
-
```ここに言語を入力
|
5
|
-
import os
|
6
|
-
import logging
|
7
|
-
import csv
|
8
|
-
|
3
|
+
YouTube APIで特定キーワードの閲覧回数を収集しましたが、以下の箇所がどうしてもなんとなくしか読み解けません。
|
9
4
|
|
5
|
+
i = 0
|
10
|
-
|
6
|
+
while search_request and i < next:
|
11
|
-
|
7
|
+
search_response = search_request.execute()
|
12
8
|
|
13
|
-
from apiclient.discovery import build # pip install google-api-python-cliet
|
14
9
|
|
10
|
+
実行コードは以下です。
|
11
|
+
```ここに言語を入力
|
15
|
-
|
12
|
+
from googleapiclient.discovery import build
|
13
|
+
import pandas as pd
|
16
14
|
|
17
|
-
def
|
15
|
+
def get_video_info(query, maxResults, next):
|
16
|
+
|
17
|
+
# Call the search.list method to retrieve results matching the specified
|
18
|
+
# query term.
|
19
|
+
search_request = youtube.search().list(
|
20
|
+
part='id',
|
21
|
+
q=query,
|
22
|
+
type='video',
|
23
|
+
maxResults=maxResults,
|
24
|
+
)
|
25
|
+
|
26
|
+
i = 0
|
27
|
+
#変数iに0を代入
|
28
|
+
while search_request and i < next:
|
29
|
+
search_response = search_request.execute()
|
18
30
|
|
19
|
-
|
31
|
+
video_ids = [item['id']['videoId'] for item in search_response['items']]
|
32
|
+
videos_response = youtube.videos().list(
|
33
|
+
part='snippet,statistics',
|
34
|
+
id=','.join(video_ids)
|
35
|
+
).execute()
|
20
36
|
|
37
|
+
yield videos_response['items']
|
38
|
+
# list_nextメソッドで次の検索へ進む
|
21
|
-
|
39
|
+
search_request = youtube.search().list_next(search_request, search_response)
|
22
|
-
part='snippet',
|
23
|
-
q='釣り',
|
24
|
-
order='viewCount',
|
25
|
-
type='video',
|
26
|
-
maxResults=10,
|
27
|
-
|
40
|
+
i += 1
|
28
41
|
|
29
|
-
|
42
|
+
return search_request
|
43
|
+
|
30
|
-
|
44
|
+
YOUTUBE_API_KEY = '*****'
|
45
|
+
youtube = build('youtube', 'v3', developerKey=YOUTUBE_API_KEY)
|
46
|
+
query = 'アニメ'
|
47
|
+
dict = get_video_info(
|
48
|
+
query,
|
49
|
+
50, #1回あたりの検索数。
|
50
|
+
3, #取得回数
|
51
|
+
)
|
31
52
|
```
|
32
53
|
|
33
|
-
ここまでで、データは出力されました。
|
34
|
-
この後、スプレッドシートに表示させたいのですが、以下のようなコードを試しましたが表示されません。
|
35
54
|
|
36
|
-
```ここに言語を入力
|
37
|
-
output_sheet_name = 'test_sheet'
|
38
|
-
sh = gc.create(output_sheet_name)
|
39
|
-
worksheet = gc.open(output_sheet_name).sheet1
|
40
|
-
|
41
|
-
cell_list = worksheet.range('A1:Z10')
|
42
|
-
|
43
|
-
# シートにデータ出力
|
44
|
-
worksheet.update_cells(cell_list)
|
45
|
-
```
|
46
|
-
|
47
|
-
|
48
|
-
|
55
|
+
リファレンス、ガイドを確認していますが、お手上げ状態なので、有識者の方いらっしゃいましたら、ご教示いただきたくお願いいたします。
|
2
apiキーを****に変更します。
title
CHANGED
File without changes
|
body
CHANGED
@@ -12,7 +12,7 @@
|
|
12
12
|
|
13
13
|
from apiclient.discovery import build # pip install google-api-python-cliet
|
14
14
|
|
15
|
-
YOUTUBE_API_KEY = '
|
15
|
+
YOUTUBE_API_KEY = '*****'
|
16
16
|
|
17
17
|
def search_videos(query: str, max_pages: int=5):
|
18
18
|
|
1
スプレッドシート への出力を追記します。
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,31 +1,48 @@
|
|
1
|
-
YouTubeの閲覧回数の検索結果を取得し
|
1
|
+
YouTubeの閲覧回数の検索結果を取得し、スプレッドシートに出力をしたいです。
|
2
2
|
環境はGoogle colaboratelyを使用。
|
3
3
|
|
4
|
+
```ここに言語を入力
|
5
|
+
import os
|
6
|
+
import logging
|
7
|
+
import csv
|
4
|
-
|
8
|
+
import pandas as pd
|
5
9
|
|
6
|
-
できないような記事も拝見したため、有識者の方いらっしゃいましたら、そもそもこのようなことが可能がご教示いただきたくお願いいたします。
|
7
|
-
|
8
|
-
|
9
|
-
```ここに言語を入力
|
10
10
|
from apiclient.discovery import build
|
11
11
|
from apiclient.errors import HttpError
|
12
|
-
import pandas as pd
|
13
12
|
|
14
|
-
DEVELOPER_KEY = '**********'
|
15
|
-
|
13
|
+
from apiclient.discovery import build # pip install google-api-python-cliet
|
16
14
|
|
17
|
-
def youtube_search(options):
|
18
|
-
#def get_video_info(query, maxResults, next):
|
19
|
-
|
15
|
+
YOUTUBE_API_KEY = 'AIzaSyAGOwbqz3-qVNNh6FbfWgKdT0VB2Z_DGq4'
|
20
|
-
part='id',
|
21
|
-
q=query,
|
22
|
-
type='video',
|
23
|
-
)
|
24
16
|
|
17
|
+
def search_videos(query: str, max_pages: int=5):
|
18
|
+
|
19
|
+
youtube = build('youtube', 'v3', developerKey=YOUTUBE_API_KEY)
|
20
|
+
|
25
21
|
search_response = youtube.search().list(
|
26
|
-
q='プログラミング',
|
27
|
-
|
22
|
+
part='snippet',
|
23
|
+
q='釣り',
|
24
|
+
order='viewCount',
|
25
|
+
type='video',
|
26
|
+
maxResults=10,
|
28
27
|
).execute()
|
29
28
|
|
30
29
|
search_response
|
30
|
+
|
31
|
-
```
|
31
|
+
```
|
32
|
+
|
33
|
+
ここまでで、データは出力されました。
|
34
|
+
この後、スプレッドシートに表示させたいのですが、以下のようなコードを試しましたが表示されません。
|
35
|
+
|
36
|
+
```ここに言語を入力
|
37
|
+
output_sheet_name = 'test_sheet'
|
38
|
+
sh = gc.create(output_sheet_name)
|
39
|
+
worksheet = gc.open(output_sheet_name).sheet1
|
40
|
+
|
41
|
+
cell_list = worksheet.range('A1:Z10')
|
42
|
+
|
43
|
+
# シートにデータ出力
|
44
|
+
worksheet.update_cells(cell_list)
|
45
|
+
```
|
46
|
+
|
47
|
+
|
48
|
+
なかなか表示させることができないので、有識者の方いらっしゃいましたら、ご教示いただきたくお願いいたします。
|