2016-12-21 7 views
-1

Ich habe versucht, frühere Sendungen für einen Streamer auf Twitch mit Python herunterladen. Ich fand diese Python-Code online:Herunterladen von früheren Twitch-Sendungen in Python

https://gist.github.com/baderj/8340312

aber wenn ich versuche, um die Funktionen zu nennen ich Fehler bin immer mir einen Status 400 Botschaft. Unsicher, ob dies der Code ist, den ich das Video (als mp4) herunterladen möchte oder wie es richtig zu verwenden ist.

Und von Video, das ich so etwas wie dies als Beispiel bedeuten: www(dot)twitch.tv/imaqtpie/v/108909385 // Notiz kann nicht setzen mehr als 3 Links, da ich 10 Ruf nicht

Irgendwelche Tipps, wie ich über das tun dies gehen?

Hier ist ein Beispiel davon in cmd ausgeführt wird:

Python 108.909.385 twitch_past_broadcast_downloader.py es

Nach dem Laufen, es gab mir dies:

Exception API returned 400 

Dies ist, wo ich die Informationen bekommen auf läuft es: https://www.johannesbader.ch/2014/01/find-video-url-of-twitch-tv-live-streams-or-past-broadcasts/

+3

Bitte legen Sie eine [MCVE] in Frage. – jonrsharpe

+0

Gelistet ein Beispiel von mir, es zu laufen. Auch wo ich den Platz gefunden habe, der das selbe gemacht hat wie ich und es hat dort funktioniert (am Ende des Artikels) –

Antwort

0

Huh es ist nicht so einfach scheint es ... Der Code, den Sie gefunden haben Dieser Grund ist ziemlich alt und Twitch hat seine API komplett geändert. Jetzt benötigen Sie eine Client-ID, um Videos herunterzuladen, um die Anzahl der heruntergeladenen Videos zu begrenzen.

Wenn Sie diesen Kern korrigieren wollen, sind hier einfache Schritte, die Sie tun können:

  1. eine Anwendung registrieren: Alles wird erklärt here! Registrieren Sie Ihre App und behalten Sie Ihre Kunden ID.
  2. API-Route ändern: Es ist nicht mehr '{base}/api/videos/a{id_}' aber {base}/kraken/videos/{id_} (nicht sicher über die letzte). Sie müssen es innerhalb des Python-Codes ändern. Das Dokument ist here.
  3. Fügen Sie die Client-ID zur URL hinzu: Wie im Dokument angegeben, müssen Sie der Anforderung, die Sie vornehmen, eine Kopfzeile geben, also fügen Sie in der Anforderung eine Client-ID: <client_id> Kopfzeile hinzu.

Und jetzt denke ich, Sie mit dem Debuggen ein bisschen beginnen müssen, weil es alte Code ist:/

Ich werde versuchen, mich, es zu tun, und ich werde diese Antwort bearbeiten, wenn ich fertig bin, aber versuchen Sie sich :)

Bis ja!

EDIT: Mhhh ...Es scheint sowieso nicht möglich zu sein, ein Video mit der API herunterzuladen:/Ich dachte nur Links zu API geändert, aber der chunks Abschnitt der Antwort von der Video-URL verschwunden und Twitch gibt nicht mehr Zugriff auf rohe Videos:/

wirklich leid, dass ich Sie, dass auch bei der API ich denke nicht mehr möglich ist zu tun, sagte:/

+0

Danke, ich schätze deine Antwort sehr. Ich werde weiter daran arbeiten. –

+0

Hey bist du sicher über Twitch nicht mehr Zugriff auf rohe Videos ?? Weil dieser Typ youtube.com/user/lolprovods volle Videos auf dem täglichen hochladen? –

+0

Die Änderung von Twitch ist sehr neu. Ich habe viele Lösungen ausprobiert, die ich auf Google wie [LiveStreamer] (http://livestreamer.readthedocs.io/) oder [NightDev] (https://nightdev.com/twitchdown/) gegründet habe, aber sie scheinen alle wegen der Twitch Aktualisierung. Es ist jedoch möglich, dass die Sendeanstalten die aufgezeichneten Videos herunterladen und auf YouTube hochladen, wenn sie dies wünschen. –

Verwandte Themen