ede875 / save-tv-download-script

Automatically exported from code.google.com/p/save-tv-download-script - NOT MY WORK! Just wanted to save it somehow
0 stars 0 forks source link

Script lädt keine Serien herunter #13

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
Leider lädt das Script keine "Serien" herunter

Beispiel Tatort:
Online 40 Sendungen, aber das script sagt:

[/share/sh/save-tv-downloader] # python stvDld.py
Found Download. Telecast-ID: 6376698
Getting link for Telecast-ID 6376698
No download URL found (probably recording still in progress).

Woran kann das liegen?

Systeminformation:
QNAP TS-419 P II 
2.6.33.2 #2 Wed Dec 5 10:31:22 CST 2012 armv5tel unknown

Original issue reported on code.google.com by sth...@gmail.com on 1 Mar 2013 at 11:33

Attachments:

GoogleCodeExporter commented 9 years ago
Wenn ich mir den source code des scripts anschaue dann sieht es so aus als ob 
keine Unterstützung für Serien da ist (oder genauer, für aufklappbare 
Einträge auf der Save.TV Video Archiv Seite).

Alledings ist es bei mir so dass ich derzeit 9 aufklappbare Einträge im Archiv 
habe, von denen 3 vom script erkannt werden, offenbar weil deren Kinder aus 
irgend einem Grund schon geladen sind und in der Source der Seite schon 
vorhanden sind. Das merkt man im Browser daran dass das Aufklappen sofort die 
Kinder anzeigt, während für die restlichen 6 Einträge erst kurz der 
Lade-Kringel kommt. Das ist auch reproduzierbar: Wenn man "Aktualisieren" 
drückt, sind wieder die gleichen 3 bereits geladen und die gleichen 6 werden 
beim Aufklappen nachgeladen. Was das Kriterium dafür ist welche vorgeladen 
werden konnte ich bisher nicht rausfinden.

Als Resultat bekomme ich derzeit 22 Downloads mit dem Script, von 272 die die 
Save.TV Webseite anzeigt.

Wie schon gesagt, ich bin der Ansicht dass das script erweitert werden müsste 
um die nicht geladenen Einträge nachzuladen.

Bin allerdings Neuling mit dem script ... von daher wäre ein Kommentar von 
proselyt gut.

Gruß, Andi

Original comment by joco...@gmail.com on 16 Mar 2013 at 2:52

GoogleCodeExporter commented 9 years ago
Ich habe mal Versuche gemacht das einzubauen. Das Aufklappen eines Serien-Items 
auf der Archivseite mittels Browser folgt einem Link 
href="javascript:STV.Archive.toggleSerial(x)". Diese Javascript Funktion 
toggelt dann das auf- und zuklappen und stellt beim ersten Aufklappen 
zusätzlih sicher dass die Aufnahmen der Serie auf die Seite geladen werden.

Ich habe nun versucht mittels mechanize.Browser.open() dem Link zu folgen und 
habe festgestellt dass mechanize offenbar keine Links unterstützt die 
Javascript auf diese Weise aufrufen.

Hat jemand Erfahrung mit mechanize und kann hier weiterhelfen ?

Original comment by joco...@gmail.com on 20 Mar 2013 at 7:02

GoogleCodeExporter commented 9 years ago
Nachtrag: mechanize wirft eine exception:
  <urlopen error unknown url type: javascript>
wenn man versucht mit:
 self.browser.open("javascript:STV.Archive.toggleSerial(1)")
dem Link zu folgen.

In diesem Artikel (allerdings von von 4/2009):
http://stackoverflow.com/questions/802225/how-do-i-use-mechanize-to-process-java
script
gibt es eine Antwort die sagt dass mechanize kein Javascript unterstützt (und 
mehrere Antworten die WATIR empfehlen um Webseiten mit Javascript zu 
automatisieren, aber das scheint es nur für Ruby zu geben).

Deshalb habe ich noch einen weiteren Versuch gemacht die Serieneinträge zu 
laden, indem ich den HTTP POST der vom Javascript ausgeführt wird, direkt 
ausführe, leider auch erfolglos (kann aber sein dass ich da was nicht richtig 
gemacht habe):
  self.browser.open("/STV/M/obj/user/usShowVideoArchiveLoadEntries.cfm?null.GetVideoEntries", data)
wobei data auf einen langen string gesetzt war den ich getraced hatte. Das soll 
laut doku einen POST machen mit dem string als payload.
Resultat dieses Versuchs war dass von der Seite weg navigiert wurde was später 
zu einem entsprechenden Folgefehler führte; bin mir also nicht sicher ob 
wirklich ein POST ausgeführt wurde.

Ich bleibe da noch etwas dran, aber mein Eindruck ist dass mechanize hier 
schlichtweg an seine Grenzen kommt und wir was anderes benutzen sollten.

Andi

Original comment by joco...@gmail.com on 20 Mar 2013 at 7:27

GoogleCodeExporter commented 9 years ago
Hallo Andi,

das "Bereitstellen" der Videos durch die save.tv-Seite funktioniert auch schon 
immer über einen Javascript-Link. Das Skript imitiert auch nur die Anfrage, 
die dann letztlich an den save.tv-Server rausgeht. Das müsste hier auch so 
gehen.

Problem ist nur: ich habe inzwischen selber keinen save.tv-Account mehr. Ich 
kann mir das ganze aber mal ansehen, wenn Du mir einen Mitschnitt einer Session 
schickst. 

Das geht am besten mit Google Chrome. Dazu *nach* dem Einloggen (damit Deine 
Logindaten geheim bleiben) mit F12 die "Developer Tools" aufklappen. Es 
erscheint dann unten ein neues Fenster mit mehreren Karteireitern. Dort 
"Network" auswählen und ganz unten den kleinen grauen Kreis anklicken, so dass 
er rot wird ("Preserve log upon navigation").  Dann zum Archiv navigieren und 
dort eine oder am besten mehrere Serien aufklappen, so dass er die einzelnen 
Aufzeichnungen nachlädt und anzeigt. Anschließend das Protokoll, das dabei in 
dem Fenster unten mitgeschrieben wird abspeichern. Dazu in das Fenster rechts 
klicken und "Save as HAR with content" auswählen. Das erzeugte File am besten 
Zippen und mir schicken, dann schaue ich mal, ob ich den Request finde, über 
den er die Serieneinträge nachlädt.

Viele Grüße,

Jörn

Original comment by proselyt@googlemail.com on 20 Mar 2013 at 10:18

GoogleCodeExporter commented 9 years ago
Unterstützung für Serien ist in der neuen Version die ich demnächst bereit 
stellen werde. Das Script geht jetzt durch alle Serien-Items und lädt die 
Aufnahmen darin nach. Es kann auch mit bereits geladenen Aufnahmen in 
Serien-Items umgehen (Save.TV lädt kleinere Mengen an Aufnahmen in einer Serie 
manchmal automatisch). Gebt mir noch ein paar Tage Zeit zum Testen. Dieser Teil 
läuft bereits seit 2 Wochen oder so stabil, was noch etwas Zeit braucht ist 
mit den vielen kleinen Fehlevrhalten der derzeitigen Save.TV Seite umzugehen.

Original comment by joco...@gmail.com on 15 May 2013 at 12:18