Hi @ all,
habe gerade den Tipp (wusste nicht, wie man ein Array in eine Datei schreibt) von peethebee probiert, allerdings verstehe ich noch nicht, wieso er mir viel zu viel in die Datei reinschreibt, eigentlich sollte es nur eine Url zu einem Bild sein.
Sourcecode:
Spoiler anzeigen
;--- AutoIt ImageBeaver Download Script by .kim -----------
;--- Special thanks to peethebee, progandy and BugFix ---
#include <INET.au3>
#include <String.au3>
#include <File.au3>
#include <Array.au3>
#include <Constants.au3>
HotKeySet("+!e", "Terminate")
$traytip = True
If $CmdLine[$CmdLine[0]] == "-silent" Then $traytip = False
Dim $ic_url, $c_url, $sGallery, $eGallery, $aGallery, $dir, $c_file, $sStart, $sStop, $bilder, $source; Deklaration der Variablen
Dim $IniFile
$IniFile = @ScriptDir & '\index.ini' ; INI Datei-Pfad
$ic_url = "http://www.imagebeaver.com/view.php?mode=gallery&g=" ;Anfangsurl ohne Gallery Nr.
[/autoit] [autoit][/autoit] [autoit]If FileExists($IniFile) Then
If IniRead($IniFile, "Aktuell", "aktuell", Default) <= 0 Then _
$sGallery = IniRead($IniFile, "Start", "start", Default) ; Startgallery Nr. auslesen
$eGallery = IniRead($IniFile, "Ende", "ende", Default) ; Endgallery Nr. auslesen
$aGallery = IniRead($IniFile, "Aktuell", "aktuell",Default) +1 ; Aktuelle Gallery Nr. auslesen
$path = IniRead($IniFile, "Path", "root",Default) ; Pfad auslesen
If ($traytip = True) Then TrayTip("Imagebeaver Downloader", "Downloading Images from Gallery Nr. "& $aGallery & " to Nr. " & $eGallery & @CRLF & "Abbruch mit [SHIFT]-[ALT]-[e]", 5, 1)
TraySetToolTip("Imagebeaver Downloader" & @CRLF & @CRLF & "Downloading Images from Gallery Nr. "& $aGallery & " to Nr. " & $eGallery & @CRLF & "Abbruch mit [SHIFT]-[ALT]-[e]")
Sleep(1000)
While $aGallery <= $eGallery ; Abbruchbedingung der While-Schleife
If $traytip = True Then TrayTip("Imagebeaver Downloader", "Gallery Nr." & $aGallery , 1,16)
$dir= $path & "gallery_"&$aGallery &"\"
$c_file = $dir & "gallery_"& $aGallery &".html" ; Datei + Pfad in die der Quelltext gespeichert werden soll
$c_url = $ic_url&$aGallery ; Zusammenfügen der URL
$source = _INetGetSource( $c_url ) ; Holen des Quellcodes
$sStart= '<img src="' ; Startbedingung für Ausschneiden
$sStop = '" border="0"></a> ' ; Abbruchbedingung für ausschneiden
$bilder = _StringBetween($source, $sStart, $sStop) ;Füllen des Arrays mit dem gesuchten Wert
For $i = 0 To UBound($bilder)-1
$bilder[$i] = StringReplace($bilder[$i],"/t/","/i/",1,1) ; Tauschen von Thumbnail to image
Next
For $i = 0 To UBound($bilder)-1
$bilder[$i] = StringReplace($bilder[$i],"/images/thumb/","/images/",1,1) ; Tauschen von Thumbnail to image
Next
If Not @error Then
DirCreate($dir) ; Erstellt Ordner mit Gallerynummer
For $i = 0 To UBound($bilder)-1
InetGet ($bilder[$i],$dir & 'gallery_' & $aGallery & '_picture_' & $i &'.jpg') ; Downloaden der Bilder
Next
InetGet($c_url, $c_file) ; Schreibt Sourcecode in Datei
EndIf
If $traytip = True Then TrayTip("","",0)
IniWrite($IniFile, 'Aktuell', 'aktuell', $aGallery) ; Abspeichern der aktuellen Gallery
$aGallery = $aGallery + 1 ; Schritt zur nächsten Gallery
WEnd
[/autoit] [autoit][/autoit] [autoit]$ende = IniRead($IniFile, "Ende", "ende", Default)
IniWrite($IniFile, 'Aktuell', 'aktuell', $ende)
MsgBox(4096,"Finished","Download finished",10)
EndIf
[/autoit] [autoit][/autoit] [autoit]Func Terminate()
Exit 0
EndFunc
Die index.ini Datei (muss bei dem Script im Ordner liegen):
Spoiler anzeigen
[Start]
start = 0
[Ende]
ende = 0
[Aktuell]
aktuell = 0
[Path]
root=C:\Pfad\
Edit:
1. Problem gelöst, ich lösche einfach Array[0] und schon ist der nicht benötigte Part draußen.
2. Problem gelöst, /t/ durch /i/ in der Url ersetzt
3. Problem gelost, es wird kein Ordner mehr erstellt, wenn eine Gallery kein Bild enthält und das Script steigt dank der Überprüfung auch nicht mehr aus.
4. Problem gelöst und INI Datei für Start Stop Aktuelle Gallery und Speicherpfad angelegt
Programm ist fertig, werde noch ein Gui und einen Installer dafür basteln und dann das Programm hier releasen. Vielen Dank an peethebee, progandy und BugFix für die tatkräftige Unterstützung! Geiles Forum und super nette Leute *RESPECT* macht weiter so
MfG
.kim
Edit BugFix: Code-Tags gesetzt