Homebrew Python - Youtube Suchprogramm

Eine einfache Suche mit nur Anfragen und Schöne Suppe4.

Wie benutzt man

Y = Youtube([query], result=[num])

Abfrage ist ein Suchwort. Unterstützt Japanisch. num ist die Anzahl der Suchergebnisse. Bis zu 20 im Moment aufgrund der Seitennation. Bitte spielen Sie hier alleine herum.

Y.url    >>URL-Liste der Suchergebnisse
Y.title  >>Titelliste
Y.id     >>ID-Liste (ID? Eindeutige Nummer wie JaDJbrwi0gk)
Y.embed  >>URL-Liste zum Einfügen
Y.time   >>Wiedergabezeitliste (möglicherweise nicht gefragt)

Beispiel)
print(Youtube("Unjash",result=5).url)

>> ['https://www.youtube.com/watch?v=JaDJbrwi0gk', 'https://www.youtube.com/watch?v=yGPAyqxrado', 'https://www.youtube.com/watch?v=tGl2Dp1v0gw', 'https://www.youtube.com/watch?v=myp35PyYk1A', 'https://www.youtube.com/watch?v=Tt1rkp3h1pM', 'https://www.youtube.com/watch?v=XIJqsqOCorw']
Y.select() >>Wählen Sie eines aus den Suchergebnissen aus und geben Sie ein Wörterbuch mit den oben genannten Informationen zurück.
key = "url","title","id","embed","time"

Beispiel)
movie = Y.select()
print(movie["url"]) >> https://www.youtube.com/watch?v=JaDJbrwi0gk

Es kann effizient sein, es mit anderen Download-APIs zu kombinieren.

Skript

import requests
from bs4 import BeautifulSoup

class Youtube():
    def __init__(self,query,result=10): #bis zu max20
        search_url = "https://www.youtube.com/results?search_query=" + query
        req = requests.get(search_url)
        soup = BeautifulSoup(req.text.encode(req.encoding).decode('utf-8','strict'),"html5lib")
        h3s = soup.find_all("h3", {"class":"yt-lockup-title"})[0:result+1]

        self.data = [h3 for h3 in h3s]
        self.url = ["https://www.youtube.com" + h3.a.get('href') for h3 in h3s]
        self.title = [h3.a.get("title") for h3 in h3s]
        self.id = [h3.a.get("href").split("=")[-1] for h3 in h3s]
        self.embed = ["https://www.youtube.com/embed/" + h3.a.get("href").split("=")[-1] for h3 in h3s]
        self.time = [h3.span.text.replace(" -Länge: ","").replace("。","") for h3 in h3s]
        self.info = [h3.text for h3 in h3s] # >>Titel-Länge: 00:00。

    def select(self):
        values = {"url":self.url,"title":self.title,"id":self.id,"embed":self.embed,"time":self.time}
        info = self.info
        for i in range(len(info)):
            print("%s:%s" % (i,info[i]))
        while True:
            try:
                num = int(input("Nummer:"))
                break
            except:
                print("Bitte geben Sie die Nummer richtig ein.")
        results = {
            "url":values["url"][num],
            "title":values["title"][num],
            "id":values["id"][num],
            "embed":values["embed"][num],
            "time":values["time"][num],
            }
        return results

if __name__ == '__main__':
    Y = Youtube(input("Suchbegriff:"),result=5)
    movie = Y.select()
    print(movie["url"])

Recommended Posts

Homebrew Python - Youtube Suchprogramm
Homebrew Python Teil 3 - Das Produktsuchprogramm von Amazon
[Python] Einkaufsprogramm
Suchen und spielen Sie YouTube-Videos mit Python
Homebrew-Suche anhand des Python-Modulnamens (ShellScript)
Suchen und laden Sie YouTube-Videos automatisch mit Python herunter
Sequentielle Suche mit Python
Python-Übung 1-Breiten-Prioritätssuche
[Python] Suche (itertools) ABC167C
Dichotomie mit Python
Homebrew Python Umgebung Konstruktion
Spielen Sie YouTube in Python
[Python] Suche (NumPy) ABC165C
Memo zur Bisektionssuche (python2.7)
[Python] Bisection-Suche ABC155D
Python Bit vollständige Suche
Lineare Suche in Python
Dichotomie mit Python
Dichotomie mit Python 3
Suchen Sie Twitter mit Python
Binäre Suche in Python
Holen Sie sich YouTube-Kommentare in Python
[Python] BFS (Suche nach Breitenpriorität) ABC168D
Newcomer Trainingsprogramm von Python
Holen Sie sich Youtube-Daten mit Python
YouTube-Videoverwaltung mit Python 3
Suche nach Breitenpriorität / bidirektionale Suche (Python Edition)
Suchalgorithmus mit word2vec [Python]
[Python] DFS (Tiefenprioritätssuche) ATC001A
Binäre Suche in Python / C ++
Algorithmus in Python (Dichotomie)
Vollbit-Suche mit Python
[Python] DFS (Tiefenprioritätssuche) ABC157D
Installieren Sie pyenv von Homebrew, installieren Sie Python von pyenv
Suchmaschinen arbeiten mit Python
Suche nach Twitter-Tweets mit Python
[Python] Suche nach Tiefenpriorität und Suche nach Breitenpriorität
Optimieren Sie die Websuche mit Python
[Python-Algorithmus] Ein Programm, das einige deutsche Antworten aus einer Suche mit Tiefenpriorität ausgibt
Algorithmus in Python (Breitenprioritätssuche, bfs)
Schreiben Sie eine Dichotomie in Python
Richten Sie mit Homebrew eine moderne Python-Umgebung ein
Home Brew kann Python nicht installieren (bei Mavericks)
Debuggen Sie das Python-Multiprozessprogramm mit VSCode
Suche nach Breitenpriorität (BPF) Vielleicht verstanden (Python)
Primzahlgenerator von Python
Verknüpfen Sie virtualenv python nach dem Upgrade von Homebrew python erneut
Kompatibilitätsdiagnoseprogramm in Python geschrieben
Algorithmus in Python (Tiefenprioritätssuche, dfs)
Beherrsche die lineare Suche! ~ Python-Implementierungsversion ~
Schreiben Sie eine Suche mit Tiefenpriorität in Python
Verwalten Sie jede Python-Version mit Homebrew
Reproduzieren Sie die One-Touch-Suche mit Python 3.7.3. (Windows 10)
Suche nach Tiefenpriorität mit Stack in Python
Beim Schreiben eines Programms in Python
Python 2-Minuten-Suche und ihre Ableitungen