Youtube durchsuchen nach LInks

Du hast eine Idee für ein Projekt?
lowendgamer
User
Beiträge: 3
Registriert: Freitag 27. Oktober 2017, 16:15

Youtube durchsuchen nach LInks

Beitragvon lowendgamer » Freitag 27. Oktober 2017, 16:27

Hallo zusammen,

ich plane einen Audiomusikplayer mit Sprachsteuerung für mein Auto zu programmieren. Dabei habe zunächst vor, dass als normales Programm auf meinem Linux Mint 18.2 laufen zu lassen.
Zunächst habe ich mithilfe von des Moduls SpeechRecognition mir meine Suchanfrage anzeigen lassen --> success

Anschließend möchte ich mir mithilfe des HTML Codes von YT in Verbindung mit meiner Suchanfrage die Suchergebnisse anzeigen lassen.

:D https://www.youtube.com/results?search_query=' :D + den Begriff (z.b Songname)

Danach kann ich einfach mit VLC bzw. cvlc --no-video mir den Link aus Audio wiedergeben lassen.


NUN ZU MEINEM PROBLEM:

Ich kann mir mithilfe des HTML Codes und dessen Auswertung mit BeautifulSoup keine LInks ausgeben lassen. Habt ihr eine Idee was ich machen könnte, dass ich das bewerkstelligen kann?

Viele Grüße und vielen Dank im Voraus!
narpfel
User
Beiträge: 76
Registriert: Freitag 20. Oktober 2017, 16:10

Re: Youtube durchsuchen nach LInks

Beitragvon narpfel » Freitag 27. Oktober 2017, 20:01

Moin,

gibt es einen guten Grund, warum du die Youtube-HTML-Seite parsen möchtest? Im Prinzip ist das möglich, aber Google bietet eine API an, um die Daten direkt abrufen zu können. Hier ist das für die Suchabfrage dokumentiert. Mit Beispielcode in Python.

Ganz simpel kann man natürlich auch direkt den `GET`-Request absetzen, ohne die API-Client-Bibliothek zu benutzen. Generell ist für sowas die `requests`-Bibliothek besser geeignet (sprich einfacher zu benutzen), als `urllib` aus der Standardbibliothek. Das könnte dann beispielsweise so aussehen (ungetestet), um Videos mit dem Stichwort „Python“ zu suchen:
  1. import requests
  2.  
  3.  
  4. def main():
  5.     response = requests.get(
  6.         "https://www.googleapis.com/youtube/v3/search/",
  7.         params={
  8.             "part": "id",
  9.             "q": "Python",
  10.             "type": "video",
  11.         }
  12.     )
  13.     print(response.json())
  14.  
  15.  
  16. if __name__ == "__main__":
  17.     main()
lowendgamer
User
Beiträge: 3
Registriert: Freitag 27. Oktober 2017, 16:15

Re: Youtube durchsuchen nach LInks

Beitragvon lowendgamer » Freitag 27. Oktober 2017, 20:58

Vielen Dank für die schnelle Antwort! Werde es gleich ausprobieren :D

edit:

Nun beim Ausführen des Skripts überschreitet er das tägliche Limit von der Google API.

  1. [code]{'error': {'code': 403, 'message': 'Daily Limit for Unauthenticated Use Exceeded. Continued use requires signup.', 'errors': [{'reason': 'dailyLimitExceededUnreg', 'message': 'Daily Limit for Unauthenticated Use Exceeded. Continued use requires signup.', 'domain': 'usageLimits', 'extendedHelp': 'https://code.google.com/apis/console'}]}}[/code]


wende mich nun mal der API zu per Google Seite
lowendgamer
User
Beiträge: 3
Registriert: Freitag 27. Oktober 2017, 16:15

Re: Youtube durchsuchen nach LInks

Beitragvon lowendgamer » Samstag 9. Dezember 2017, 23:31

Danke habe die Variante probiert, hat aber nicht funktioniert. Bin nun für weitere Vorschläge offen.
Benutzeravatar
snafu
User
Beiträge: 5309
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Re: Youtube durchsuchen nach LInks

Beitragvon snafu » Sonntag 10. Dezember 2017, 00:47

Was genau hat nicht funktioniert? Was hast du konkret versucht? Wie hat sich der Fehler / das Nicht-Funktionieren geäußert?
shcol (Repo | Doc | PyPi)

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder