Input ist wichtig für das Studium der Datenanalyse, aber Übung ist die beste, deshalb dachte ich, dass es gute Daten zum Üben geben würde. Um ehrlich zu sein, kann ich nicht beurteilen, ob die Youtube-Daten gut sind. Ich schaue jedoch oft Youtube und da es ein Bereich von Interesse ist, möchte ich zusammenfassen, wie man es verwendet, um Daten für die Analyse mit ** "Youtube Data API" ** extrahieren zu können. Ich habe die folgende Seite (API-Referenz) verwendet, um die API zu lernen. https://developers.google.com/youtube/v3/docs?hl=ja
Dieses Mal suchen wir zunächst unter den folgenden Bedingungen nach Videos und geben die Ergebnisse in eine CSV-Datei aus.
Außerdem wird das Video des Suchergebnisses frequenzverteilt, zu welchem Kanal es gehört, und in eine CSV-Datei ausgegeben.
Die Quelle ist wie folgt. Geben Sie für die Variable "DEVELOPER_KEY" im Programm Ihren eigenen API-Schlüssel ein. Die Methode zur Ausgabe des API-Schlüssels wird hier weggelassen.
searchKeyword.py
# import library
from apiclient.discovery import build
from apiclient.errors import HttpError
import argparse
import numpy as np
import pandas as pd
# Set Yotube Data API key
DEVELOPER_KEY = "YOUR API KEY!!!"
YOUTUBE_API_SERVICE_NAME = "youtube"
YOUTUBE_API_VERSION = "v3"
def searchKeyword(options):
#Schlüsselwortsuchprozess
youtube = build(YOUTUBE_API_SERVICE_NAME, YOUTUBE_API_VERSION,
developerKey=DEVELOPER_KEY)
searchResults = youtube.search().list(q=options.sw,
type="video",
part="id,snippet",
maxResults=options.max_results,
order="viewCount"
).execute()
#Verarbeitung der Suchergebnisklassifizierung
videos = []
others = []
for searchResult in searchResults["items"]:
if (searchResult["id"]["kind"] == "youtube#video"):
videos.append(searchResult)
else :
others.append(searchResult)
#Video, Formatierung von Kanalinformationen, Ausgabe von CSV-Dateien
videoTitles = []
viewCounts = []
likeCounts = []
dislikeCounts = []
favoriteCounts = []
commentCounts =[]
videoChannelTitles = []
stat_list = [viewCounts, likeCounts, dislikeCounts, favoriteCounts, commentCounts]
stat_keywords = ['viewCount', 'likeCount', 'dislikeCount', 'favoriteCount', 'commentCount']
for video in videos:
videoDetail = youtube.videos().list( part="statistics, snippet",
id = video["id"]["videoId"]
).execute()
channelDetail = youtube.channels().list(part="snippet",
id=videoDetail["items"][0]["snippet"]["channelId"]
).execute()
videoTitles.append(videoDetail["items"][0]["snippet"]["title"])
for stat, stat_keyword in zip(stat_list, stat_keywords):
try:
stat.append(videoDetail["items"][0]["statistics"][stat_keyword])
except KeyError:
stat.append(0)
videoChannelTitles.append(channelDetail["items"][0]["snippet"]["title"])
df_videos = pd.DataFrame({"title":videoTitles, "ViewCount":viewCounts,
"channelTitle":videoChannelTitles,"likeCount":likeCounts,
"dislikeCount":dislikeCounts, "favoriteCount":favoriteCounts,
"commentCount":commentCounts})
df_videos.to_csv("Search_result_{}.csv".format(options.sw),encoding="utf-8_sig")
df_videos_countbyChannel = df_videos["channelTitle"].value_counts()
df_videos_countbyChannel.to_csv("ChannelTitle_{}.csv".format(options.sw),encoding="utf-8_sig")
return df_videos, df_videos_countbyChannel
if __name__ == "__main__":
# parse Argument
parser = argparse.ArgumentParser("search Youtube Program...")
parser.add_argument("sw", help="search Keyword in Youtube")
parser.add_argument("--max_results", type=int, help="max of search results",
default=50)
options = parser.parse_args()
searchKeywordResults = searchKeyword(options)
Ich habe es tatsächlich bewegt. Geben Sie dieses Mal "Quantencomputer" als Suchschlüsselwort an und führen Sie es aus.
$ python searchKeyword.py "Quantencomputer"
"Search_result_quantum computer.csv" und "ChannelTitle_quantum computer.csv" werden in dem Verzeichnis erstellt, in dem "searchKeyword.py" abgelegt ist. Lassen Sie uns den Inhalt dieser beiden Dateien überprüfen.
--Search_result_ Quantum computer.csv (nur der Anfangsteil wird beschrieben)
No | title | ViewCount | channelTitle | likeCount | dislikeCount | favoriteCount | commentCount |
---|---|---|---|---|---|---|---|
0 | Quantum Computers Explained – Limits of Human Technology | 12915763 | Kurzgesagt – In a Nutshell | 310808 | 3405 | 0 | 16871 |
1 | [Minecraft]Pseudo-Quantenbit-Computer[Theoretisch der schnellste der Welt?] | 4483432 | Miki Tanabe | 60153 | 2057 | 0 | 9898 |
2 | Was ist der Unterschied zwischen einem Quantencomputer und einem normalen Computer? [Japanische Wissenschaftsinformation] [Wissenschaft und Technologie] | 622469 | Japanische wissenschaftliche Informationen | 8019 | 435 | 0 | 647 |
3 | Was ist ein "Quantencomputer", der die Welt verändert? Horiemon erklärt![NewsPicks-Zusammenarbeit] | 232913 | Takafumi Horie Horiemon | 1443 | 121 | 0 | 275 |
4 | Diese Welt ist eine Simulation. Wenn der Quantencomputer fertig ist...【Urbane Legende】 | 211623 | Ich möchte Milchtee trinken | 2722 | 142 | 0 | 411 |
5 | [Erstaunlich] Auswirkungen des Quantencomputers "Unvorstellbares Missverständnis" | 144126 | Ichizero-System | 1898 | 121 | 0 | 199 |
6 | Spacon bei weitem übertrifft! Inländische Quantencomputer-Ankündigung(17/11/20) | 121514 | ANNnewsCH | 1085 | 47 | 0 | 0 |
7 | [Quantenmechanik] Lerne "Quantencomputer" und "Stern Gerlachs Experiment" | 117389 | Ikehaya Universität | 1311 | 214 | 0 | 95 |
8 | [Herausforderung] "Quantencomputer", der in 10 Minuten verstanden werden kann | 110234 | NEX-Industrie | 1579 | 178 | 0 | 187 |
9 | [Quantencomputer] Teil 1 "Überlagerung mit Quantenbits" (10 Minuten) | 105738 | Quantenmünze | 0 | 0 | 0 | 58 |
10 | Wird Bitcoin zusammenbrechen?⁉ Was wird Google mit der Entwicklung von Quantencomputern tun? Erklärung der Blockchain-Sicherheit usw. | 99405 | Mofumofu Immobilien | 1675 | 121 | 0 | 192 |
Es scheint, dass ich die Videoinformationen gut bekommen konnte.
--ChannelTitle_Quantum Computer.csv (nur der Anfangsteil wird aufgelistet)
Kanal Name | Count |
---|---|
Quantenmünze | 7 |
Keio Universität Keio Universität | 5 |
DENSO Official Channel | 2 |
Shino TV | 2 |
Drücken Sie SAMURAI | 2 |
Mofumofu Immobilien | 2 |
jstsciencechannel | 1 |
EE Times Japan | 1 |
Ich möchte Milchtee trinken | 1 |
Angenehme Seite | Bright Side Japan |
Es scheint, dass ich die Informationen hier gut bekommen konnte.
Wenn Sie dies anwenden, können Sie verschiedene interessante Dinge tun. Ich werde die Funktionen nach und nach erweitern, damit ich etwas mehr tun kann.
Recommended Posts