Flash Files downloaden
Flash Files downloaden
Es gibt ja viele kostenlose Flashgames (z.B. auf y8.com), wo man kostenlos spielen, aber nicht direkt downloaden kann. Wenn man jedoch in den Quellcode spickt sieht man irgend wo den Befehl RunFlash(...) mit dem direkten Link zu der Flash Datei (.swf), so dass man sie runterladen kann. Gibt es irgendeine möglichkeit den Link aus der Seite auszulesen?
Also z.B. wie die ganzen Youtube downloader oder so dass man eben den Link einfügt. Ich mein man könnte ja auch ne Datenbank machen aber das wär etwas umständlich.
Weis da einer wie ich sowas mach?
DrNo
Also z.B. wie die ganzen Youtube downloader oder so dass man eben den Link einfügt. Ich mein man könnte ja auch ne Datenbank machen aber das wär etwas umständlich.
Weis da einer wie ich sowas mach?
DrNo
- KeyKon
- Beiträge: 1412
- Registriert: 10.09.2004 20:51
- Computerausstattung: Laptop: i5 2,8 Ghz, 16GB DDR3 RAM, GeForce 555GT 2GB VRAM
PC: i7 4,3 Ghz, 32GB DDR3 RAM, GeForce 680 GTX 4GB VRAM
Win10 x64 Home/Prof
PB 5.30 (64bit) - Wohnort: Ansbach
- Kontaktdaten:
Code: Alles auswählen
ReadFile(0,"C:\file.html") ;File öffnen
While Eof(0) = 0 ;Zeile für Zeile durchgehen
string.s = ReadString(0) ;Zeile lesen
flashPos = FindString(string,"RunFlash(",0) ;Suchen
If flashPos ;Wurde der Befehl in dieser Zeile gefunden?
flashPos+10 ;RunFlash(" ist genau 10 Zeichen lang deshalb müssen wir das noch addieren
flashLen = FindString(string,Chr(34),flashPos)-flashPos ;Jetzt suchen wir wann die " wieder zu gemacht werden
Debug Mid(string,flashPos,flashLen) ;Ausgeben...
EndIf
Wend
(\/) (°,,,°) (\/)
Und für die on-the-fly variante ohne download der html site nimmste GetGadgetItemText(#Gadget, #PB_Web_HtmlCode)
Wobei das ganze natürlich nur dann funktionieren wird wenn das flashgame mittels RunFlash direkt aufgerufen wird und nicht erst wie bei fast allen free flash games (u.a. auch bei y8.com) über nen eingebundenes JS-file geladen wird (bei y8.com z.B. per show_flash(#file, height, width))
Wobei das ganze natürlich nur dann funktionieren wird wenn das flashgame mittels RunFlash direkt aufgerufen wird und nicht erst wie bei fast allen free flash games (u.a. auch bei y8.com) über nen eingebundenes JS-file geladen wird (bei y8.com z.B. per show_flash(#file, height, width))
Wow danke Leute ich hätte nicht gedacht dass das so einfach zu machen ist, ich hab mir hier schnell was zum testen zusammengeschrieben, bevor ichs in ein festes Programm verbaue:
Mit dem Code kann man alle Games von www.y8.com runterladen, hab bisher noch keine Probleme festgestellt.
Probiert mal die hier, sind echt klasse spiele:
www.y8.com/games/Dad_n_Me
www.y8.com/games/The_Last_Stand_2
Noch eine Frage: Gibt es irgendwie die möglichkeit anzugeben, wie weit er mit dem download ist?
DrNo
Code: Alles auswählen
URL$ = InputRequester("Link des Flashspiels...", "Bitte geben sie den Link zu dem Flashspiel ein:", "")
InitNetwork()
If ReceiveHTTPFile(URL$, "C:\temp.html")
Else
MessageRequester("Fehler", "Es ist ein Fehler aufgetreten.")
End
EndIf
ReadFile(0,"C:\temp.html")
While Eof(0) = 0
string.s = ReadString(0)
flashPos = FindString(string,"http://media.y8.com/games/content/",0)
If flashPos
flashPos+34
flashLen = FindString(string,Chr(34),flashPos)-flashPos
swffile$ = Mid(string,flashPos,flashLen)
EndIf
Wend
save$ = SaveFileRequester("Flash-Spiel speichern in...", swffile$, "Shockwave Flash (*.swf)", 0)
CloseFile(0)
DeleteFile("C:\temp.html")
If ReceiveHTTPFile("http://media.y8.com/games/content/"+swffile$, save$)
MessageRequester("Info", "Download erfolgreich!")
Else
MessageRequester("Fehler", "Es ist ein Fehler aufgetreten.")
EndIf
Probiert mal die hier, sind echt klasse spiele:
www.y8.com/games/Dad_n_Me
www.y8.com/games/The_Last_Stand_2
Noch eine Frage: Gibt es irgendwie die möglichkeit anzugeben, wie weit er mit dem download ist?
DrNo
- KeyKon
- Beiträge: 1412
- Registriert: 10.09.2004 20:51
- Computerausstattung: Laptop: i5 2,8 Ghz, 16GB DDR3 RAM, GeForce 555GT 2GB VRAM
PC: i7 4,3 Ghz, 32GB DDR3 RAM, GeForce 680 GTX 4GB VRAM
Win10 x64 Home/Prof
PB 5.30 (64bit) - Wohnort: Ansbach
- Kontaktdaten:
Meines Wissens nur beim "per Hand" downloaden...
Auf PureArea.net is da glaubich ein Bsp...
EDIT: Hier: Code
Is allerdings 4.02 muss also wahrscheinlich ein bisschen umgeformt werden...
Auf PureArea.net is da glaubich ein Bsp...
EDIT: Hier: Code
Is allerdings 4.02 muss also wahrscheinlich ein bisschen umgeformt werden...
(\/) (°,,,°) (\/)
Hi, find das ein lustiges ding 
Meine Kids spielen auch hin und wieder Flashgames.
Allerdings auf 1001spiele.de.
Naja, ich habe es versucht den code zu erweitern, nicht schön, da
PB für mich immer noch ein Buch mit 7 Siegeln ist
aber es erfüllt seinen zweck.
Ich habe den Pfad auf eine Temp ordner C:\temp\ umgeschrieben,
also darauf achten das dort auch der Ordner existiert.
Folgendes, jetzt einfach die Url der "zentrallen" seite eingeben,
dann werden alle games die dort in der Mitte mit den Pics stehen
gedownloadet.
Alledings muss ich sagen das bei enigen es nicht geht, werden 0byte dateien erstellt !??
Na egal, hier der Code:

Meine Kids spielen auch hin und wieder Flashgames.
Allerdings auf 1001spiele.de.
Naja, ich habe es versucht den code zu erweitern, nicht schön, da
PB für mich immer noch ein Buch mit 7 Siegeln ist

aber es erfüllt seinen zweck.
Ich habe den Pfad auf eine Temp ordner C:\temp\ umgeschrieben,
also darauf achten das dort auch der Ordner existiert.
Folgendes, jetzt einfach die Url der "zentrallen" seite eingeben,
dann werden alle games die dort in der Mitte mit den Pics stehen
gedownloadet.
Alledings muss ich sagen das bei enigen es nicht geht, werden 0byte dateien erstellt !??
Na egal, hier der Code:
Code: Alles auswählen
URL$ = InputRequester("Link des Flashspiels...", "Bitte geben sie den Link zu dem Flashspiel ein:", "")
InitNetwork()
If ReceiveHTTPFile(URL$, "C:\temp\temp.html")
Else
MessageRequester("Fehler", "Es ist ein Fehler aufgetreten.")
End
EndIf
ReadFile(0,"C:\temp\temp.html")
CreateFile(1, "C:\temp\games.txt") ; wir erstellen eine neue Textdatei...
CreateFile(2, "C:\temp\games_url.txt") ; wir erstellen eine neue Textdatei...
While Eof(0) = 0
string.s = ReadString(0)
flashPos = FindString(string,"<div class="+Chr(34)+"thumb"+Chr(34)+"><a href="+Chr(34)+"/games/",0)
If flashPos
WriteStringN(1,string.s)
flashPos+35
flashLen = FindString(string,Chr(34),flashPos)-flashPos
swffile$ = Mid(string,flashPos,flashLen)
WriteStringN(1,swffile$)
WriteStringN(2,"http://www.y8.com/games/"+swffile$)
EndIf
Wend
;save$ = SaveFileRequester("Flash-Spiel speichern in...", swffile$, "Shockwave Flash (*.swf)", 0)
CloseFile(0)
CloseFile(1)
CloseFile(2)
DeleteFile("C:\temp\temp.html")
DeleteFile("C:\temp\games.txt")
;-----------------------------------------
ReadFile(1,"C:\temp\games_url.txt")
ReadFile(0,"C:\temp\temp.html")
While Eof(1) = 0
URL$ = ReadString(1)
If ReceiveHTTPFile(URL$, "C:\temp\temp.html")
Else
MessageRequester("Fehler", "Es ist ein Fehler aufgetreten.")
End
EndIf
ReadFile(0,"C:\temp\temp.html")
While Eof(0) = 0
string.s = ReadString(0)
flashPos = FindString(string,"http://media.y8.com/games/content/",0)
If flashPos
flashPos+34
flashLen = FindString(string,Chr(34),flashPos)-flashPos
swffile$ = Mid(string,flashPos,flashLen)
EndIf
Wend
save$ = SaveFileRequester("Flash-Spiel speichern in...", swffile$, "Shockwave Flash (*.swf)", 0)
;save$ = "games\"+swffile$
CloseFile(0)
DeleteFile("C:\temp\temp.html")
If ReceiveHTTPFile("http://media.y8.com/games/content/"+swffile$, save$)
MessageRequester("Info", "Download erfolgreich!")
Else
MessageRequester("Fehler", "Es ist ein Fehler aufgetreten.")
EndIf
Wend
CloseFile(1)
I7 2600K; 8 GB RAM ; Win10 Pro x64 | NVidia GTX 750 TI 2048MB ; Realtec OnBoard Sound;
-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22