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.
https://www.youtube.com/results?search_query=' + 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!
Youtube durchsuchen nach LInks
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:
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:
Code: Alles auswählen
import requests
def main():
response = requests.get(
"https://www.googleapis.com/youtube/v3/search/",
params={
"part": "id",
"q": "Python",
"type": "video",
}
)
print(response.json())
if __name__ == "__main__":
main()
-
- User
- Beiträge: 3
- Registriert: Freitag 27. Oktober 2017, 16:15
Vielen Dank für die schnelle Antwort! Werde es gleich ausprobieren
edit:
Nun beim Ausführen des Skripts überschreitet er das tägliche Limit von der Google API.
[/code]
wende mich nun mal der API zu per Google Seite
edit:
Nun beim Ausführen des Skripts überschreitet er das tägliche Limit von der Google API.
Code: Alles auswählen
[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'}]}}
wende mich nun mal der API zu per Google Seite
-
- User
- Beiträge: 3
- Registriert: Freitag 27. Oktober 2017, 16:15
Danke habe die Variante probiert, hat aber nicht funktioniert. Bin nun für weitere Vorschläge offen.
- sls
- User
- Beiträge: 480
- Registriert: Mittwoch 13. Mai 2015, 23:52
- Wohnort: Country country = new Zealand();
Ich glaube dass das nicht ganz richtig ist, viel mehr fehlt ihm beim Request ein zur Nutzung der Youtube API benötigter Key. Dieser berechtigt dann zur Verwendung der Ressourcen durch die API. Wie man an diesen developer key gelangt steht in den Google Youtube API docs.lowendgamer hat geschrieben: Nun beim Ausführen des Skripts überschreitet er das tägliche Limit von der Google API.
When we say computer, we mean the electronic computer.