Ich schaue oft auf Youtube, aber wenn Sie durch die Kommentare auf der Youtube-Site scrollen, werden die folgenden Daten bis zu einem gewissen Grad erfasst und angezeigt. Wenn es sich um ein beliebtes Video handelt, gibt es mehr als 1000 Kommentare, aber es ist schwierig, alle zu sehen. Sie sehen also ungefähr 100 von oben (in der Reihenfolge der Sortierbewertung), die Sie tatsächlich sehen.
Ich war beeindruckt von dem Video von "[Wie man GACKT gewinnt] über Migration nach Übersee, Lebensweise, Geschäft, Freiwillige - Youtube", also bitte kommentieren Ich wollte sie alle sehen. Also dachte ich, wenn ich die Youtube-Daten-API verwenden würde, könnte ich alle Kommentare abrufen und sie dann alle auf einmal sehen, also habe ich es versucht.
Ich benutze zum ersten Mal die Youtube-Daten-API. Um die Youtube-Daten-API verwenden zu können, musst du den API-Schlüssel aktivieren. Daher habe ich auf die folgende Website verwiesen. Kommentare zu Youtube Live mithilfe der Youtube-Daten-API abrufen
Google Colaboratory Dieses Mal wollte ich es jedem leicht machen, Kommentare zu erhalten, und ich wollte "Google Colaboratory" verwenden, das sofort verwendet werden kann, wenn ich ein Google-Konto habe. Deshalb wollte ich Python als Programmiersprache verwenden.
Die folgende Website entsprach genau Ihrer Anfrage. YouTube-Kommentare in Python abrufen
Ich habe Google Colaboratory geöffnet, "getYouTubeComments.py" von der oben genannten Website mit Kopieren und Einfügen eingefügt, den API-Schlüssel und die VIDEO-ID neu geschrieben und ausgeführt. Ich konnte einen Kommentar erhalten, aber wenn ich die Kommentare der Zielaktion vergleiche, fehlt etwas. Der Kommentar enthält einen untergeordneten Kommentar, aber dieses Programm konnte den untergeordneten Kommentar nicht abrufen.
Wie bekomme ich Kommentare von Kindern? Ich kann immer noch die Anzahl der Antworten erhalten, daher verstehe ich, dass ich die untergeordneten Kommentare erhalten sollte, wenn die Anzahl der Antworten 1 oder mehr beträgt. Ich habe die folgende Site gesucht und gefunden, und die Programmiersprache ist PHP, aber alles, was ich wissen muss, ist, wie es funktioniert. Alle YouTube-Kommentare abrufen - Sleepy Porridge
Bei untergeordneten Kommentaren können Sie die übergeordnete ID (parentId) als Parameter an die Kommentarmethode übergeben.
Kommentar https://www.googleapis.com/youtube/v3/commentThreads
Untergeordneter Kommentar https://www.googleapis.com/youtube/v3/comments
Der Unterschied zum referenzierten Programm besteht darin, dass Sie den Benutzernamen und die untergeordneten Kommentare durch Zuweisen von Seriennummern abrufen können.
Die Zeilenumbrüche in den Kommentaren werden am Tabulatorbegrenzer durch Leerzeichen halber Breite ersetzt. Das Kommentarformat ist "HTML" oder "Nur-Text", aber es ist "Nur-Text". Die Reihenfolge ist "Relevanz" in absteigender Reihenfolge der Bewertung. Untergeordnete Kommentare sind in keiner bestimmten Reihenfolge (selbst wenn Sie die Reihenfolge angeben, stimmen sie nicht mit der Video-Site überein). Da die übergeordnete Seriennummer 4-stellig und die untergeordnete Seriennummer 3-stellig ist, sollten Sie die Anzahl der anzuzeigenden Ziffern ändern und erhöhen, wenn Sie Kommentare erhalten möchten, die die Anzahl der Ziffern überschreiten.
000X (Kommentar)(Gleiche Nummer) (Benutzername) (Antwortnummer)
000X-00X (Kinderkommentar)(Gute Nummer) (Benutzername)
Öffnen Sie Google Colaboratory, fügen Sie "getYouTubeComments.py" von der oben genannten Website mit Kopieren und Einfügen ein, schreiben Sie den API-Schlüssel und die VIDEO-ID neu und führen Sie sie aus.
Der API-Schlüssel wird mit den Anmeldeinformationen für die YouTube-API-API-API-Aktivierung ausgegeben. Schreiben Sie daher den API_KEY des Programms in den ausgegebenen API-Schlüssel um.
Im Fall von "https://www.youtube.com/watch?v=oeJ_b0iG9lM" ist "oeJ_b0iG9lM" die Video-ID. Schreiben Sie daher die Video-ID des Zielvideos mit "Video-ID eingeben" des Programms neu.
getYouTubeComments.py
import requests
import json
URL = 'https://www.googleapis.com/youtube/v3/'
#Geben Sie hier API KEY ein
API_KEY = 'Geben Sie API KEY ein'
#Geben Sie hier Ihre Video-ID ein
VIDEO_ID = 'Geben Sie die Video-ID ein'
def print_video_comment(no, video_id, next_page_token):
params = {
'key': API_KEY,
'part': 'snippet',
'videoId': video_id,
'order': 'relevance',
'textFormat': 'plaintext',
'maxResults': 100,
}
if next_page_token is not None:
params['pageToken'] = next_page_token
response = requests.get(URL + 'commentThreads', params=params)
resource = response.json()
for comment_info in resource['items']:
#Kommentar
text = comment_info['snippet']['topLevelComment']['snippet']['textDisplay']
#Gute Nummer
like_cnt = comment_info['snippet']['topLevelComment']['snippet']['likeCount']
#Anzahl der Antworten
reply_cnt = comment_info['snippet']['totalReplyCount']
#Nutzername
user_name = comment_info['snippet']['topLevelComment']['snippet']['authorDisplayName']
# Id
parentId = comment_info['snippet']['topLevelComment']['id']
print('{:0=4}\t{}\t{}\t{}\t{}'.format(no, text.replace('\n', ' '), like_cnt, user_name, reply_cnt))
if reply_cnt > 0:
cno = 1
print_video_reply(no, cno, video_id, next_page_token, parentId)
no = no + 1
if 'nextPageToken' in resource:
print_video_comment(no, video_id, resource["nextPageToken"])
def print_video_reply(no, cno, video_id, next_page_token, id):
params = {
'key': API_KEY,
'part': 'snippet',
'videoId': video_id,
'textFormat': 'plaintext',
'maxResults': 50,
'parentId': id,
}
if next_page_token is not None:
params['pageToken'] = next_page_token
response = requests.get(URL + 'comments', params=params)
resource = response.json()
for comment_info in resource['items']:
#Kommentar
text = comment_info['snippet']['textDisplay']
#Gute Nummer
like_cnt = comment_info['snippet']['likeCount']
#Nutzername
user_name = comment_info['snippet']['authorDisplayName']
print('{:0=4}-{:0=3}\t{}\t{}\t{}'.format(no, cno, text.replace('\n', ' '), like_cnt, user_name))
cno = cno + 1
if 'nextPageToken' in resource:
print_video_reply(no, cno, video_id, resource["nextPageToken"], id)
#Holen Sie sich alle Kommentare
video_id = VIDEO_ID
no = 1
print_video_comment(no, video_id, None)
Wenn Sie den Videokommentar von "[Wie man GACKT gewinnt] über Migration nach Übersee, Lebensweise, Geschäft, Freiwillige - Youtube" erhalten, ist dies wie folgt. Werden.
Beispiel für die Erfassung von Kommentaren
0006 Nicht nur der Inhalt, sondern ich habe auch gelernt, wie man spricht und zuhört. Wir werden unser Bestes tun, um den Kindern zu vermitteln, dass die Erfahrung, Herausforderungen anzunehmen, ein unersetzlicher Schatz ist. 622 Ein Mann versuchte es mit einer Klasse 9
0006-001 Ich bin zutiefst bewegt, es hier im Kommentarbereich zu sehen. Es scheint heute eine gute Sache zu geben 0 Akari Hoshino
⋮
0006-008 Ich lerne immer 14 Wasser.
0006-009 Echtes Gras 16
0007 Achan kann die Geschichte gut anhören. Ich antworte oft mit kurzen Worten wie "Hey" oder "Ist es Niigata?"
Der Adventskalender kommt bald. Wir suchen auch in diesem Jahr nach Artikeln für "Visual Basic Adventskalender 2020". Es scheint, dass Sie es mit Visual Basic oder Excel anstelle von Python versuchen können.
Recommended Posts