[PYTHON] Zeichnen Sie YouTube-Aufrufe mit Lambda in einer Tabelle auf

Es gibt Zeiten, in denen Sie nur die Anzahl der YouTube-Aufrufe aufzeichnen möchten, oder? Ich war süchtig nach einem Tanzvideo und habe mich gefragt, ob die Anzahl der Aufrufe mit der Medienpräsenz zusammenhängt. Deshalb habe ich mich dafür entschieden und die Anzahl nur mithilfe der Youtube-Daten-API, Lambda, Cloud Watch und Google-Tabellen aufgezeichnet. Ich habs gemacht.

Python 3.7, Umgebung ist Windows. Lesen Sie für Mac den Befehl usw.

Referenz

Ich habe es mit Bezug auf das Folgende gemacht https://qiita.com/akabei/items/0eac37cb852ad476c6b9 https://qiita.com/masaha03/items/fab8c8411a020ff2bd42

API aktivieren

Aktivieren Sie die APIs für Youtube, Google Drive und Google Spreadsheet.

Tabellenkalkulation vorbereiten

Bereiten Sie eine Tabelle vor. (Diesmal wird der Blattname standardmäßig erstellt.)

Holen Sie sich Youtube-Aufrufe und schreiben Sie in Tabellenkalkulationen

Schreiben Sie die Anzahl der Ansichten und Kommentare in die Tabelle. Da der Unterschied zwischen der Anzahl der Wiedergaben und der Anzahl der Kommentare auf der Tabellenkalkulationsseite festgelegt ist, lassen Sie ihn beim Schreiben leer.

import gspread
import json
import const
from datetime import datetime
from googleapiclient.discovery import build
from oauth2client.service_account import ServiceAccountCredentials

def youtube_count(request, context):
    YOUTUBE_API_KEY = const.getYoutubeApiKey()
    #Youtube Video ID, die Sie erhalten möchten
    YOUTUBE_MOVIE_ID = 'Video ID'

  #Mit API-Schlüssel authentifizieren
    youtube = build('youtube', 'v3', developerKey=YOUTUBE_API_KEY)

    #Holen Sie sich die Anzahl der Aufrufe und die Anzahl der Kommentare (zusätzlich können Sie auch die Anzahl der Likes erhalten)
    statistics = youtube.videos().list(part = 'statistics', id = YOUTUBE_MOVIE_ID).execute()['items'][0]['statistics']

    #Es scheint, dass Sie weiterhin Aktualisierungstoken ausgeben müssen, wenn Sie dies nicht wie folgt beschreiben
    scope = ['https://spreadsheets.google.com/feeds','https://www.googleapis.com/auth/drive']

    #Legen Sie den Namen der heruntergeladenen JSON-Datei fest
    credentials = ServiceAccountCredentials.from_json_keyfile_name('Dateiname', scope)

    #Melden Sie sich mit Ihren OAuth2-Anmeldeinformationen bei der Google-API an.
    gc = gspread.authorize(credentials)

    #Variablen für freigegebene Tabellenkalkulationsschlüssel[SPREADSHEET_KEY]Speichern in.
    SPREADSHEET_KEY = const.getSpleadsheetKey()

    #Öffnen Sie Blatt 1 der freigegebenen Tabelle
    worksheet = gc.open_by_key(SPREADSHEET_KEY).sheet1

    #Aktuelle Uhrzeit
    now_date = datetime.now().strftime("%Y/%m/%d %H:%M")

    #schreiben
    worksheet.append_row([now_date,statistics['viewCount'], '', statistics['commentCount']])

Platzieren Sie zusätzlich zur Hauptdatei die JSON-Datei des Dienstkontos, die Datei const.py mit dem auszufüllenden Tabellenkalkulationsschlüssel und den API-Schlüssel der Youtube-Daten-API in derselben Hierarchie.

Auf Lambda einstellen

Legen Sie die erstellte Python-Datei in Lambda fest.

Einstellungen für CloudWatch-Ereignisse

Ausgelöst durch CloudWatch-Ereignisse. Dieses Mal dachte ich, ich sollte es vorerst einmal pro Stunde bekommen, also werde ich versuchen, es einmal pro Stunde mit einer Zeitplanformel zu bekommen. image.png

Dadurch wird die Tabelle automatisch ausgefüllt. image.png Nachdem ich in die Tabelle geschrieben habe, versuche ich, den Unterschied in Formatierung und Wiedergabezahl mithilfe von GAS automatisch zu berechnen. Dies wird jedoch zu einem späteren Zeitpunkt erfolgen.

Schließlich

Klicken Sie hier für das süchtige Video. Schneemanns "Crazy F-R-E-S-H Beat". https://www.youtube.com/watch?v=lfVfBqkk2Vo

Recommended Posts

Zeichnen Sie YouTube-Aufrufe mit Lambda in einer Tabelle auf
So generieren Sie eine neue Protokollgruppe in CloudWatch mit Python in Lambda
Verwenden Sie print in Python2 lambda expression
So erhalten Sie den Wert aus dem Parameterspeicher in Lambda (mit Python)
Holen Sie sich Youtube-Daten in Python mithilfe der Youtube-Daten-API
Scraping von Websites mit JavaScript in Python
Zeichnen Sie mit graphviz eine Baumstruktur in Python 3
Erstellen Sie mit dem Python-Anforderungsmodul einen Datensatz mit Anhängen in KINTONE
Erstellen Sie eine GIF-Datei mit Pillow in Python
Anzeigen von Arzneimittelbewertungen mithilfe von Listen in Python
Tipps für eine gute Verwendung von Elastic Search
Erstellen Sie eine MIDI-Datei in Python mit pretty_midi
Ich habe einen japanischen Parser auf Japanisch mit Pyparsing geschrieben.
Aufgezeichnete Umgebung für die Datenanalyse mit Python
Was ist ein Hund? Django - Umfang der Verwendung von Werten, die von der URL in der klassenbasierten Ansicht erhalten wurden
Abrufen des Dateinamens in einem Ordner mithilfe von glob
Versuchen Sie die Gesichtserkennung in Echtzeit mit einer Webkamera
Darstellung von Fibonacci-Sequenzen mit Lambda-Ausdrücken in verschiedenen Sprachen
So führen Sie einen Befehl mit einem Unterprozess in Python aus
Lambda in VPC kann keine E-Mails mit Boto3 senden, selbst wenn der VPC-Endpunkt für SES verwendet wird