1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen
  2. Unsere jährliche Weihnachts-Banner-Aktion hat begonnen! Wir freuen uns auf viele, viele kreative Vorschläge.
    Mehr dazu könnt Ihr hier nachlesen: Weihnachtsbanner 2016

    Information ausblenden

Bilder automatisiert herunterladen Skript

Dieses Thema im Forum "AppleScript" wurde erstellt von BlesstSnake, 22.11.07.

  1. BlesstSnake

    BlesstSnake Jamba

    Dabei seit:
    23.09.05
    Beiträge:
    55
    Hallo Leute.

    Ich hab mir ziemlich was vorgenommen, stell ich fest.
    Neulich, als ich Automator kennengelernt habe, dachte ich, es wäre doch toll, ein Skript zu basteln, das es mir ermöglicht, eine Webseite einzugeben (z.B. http://www.giantitp.com/comics/oots0001.html) und mir dann automatisch da den Comic auf die Platte saugt. Soweit so gut, das krieg ich hin.

    Mein nächster Plan war, dieselbe Seite einzugeben und er geht automatisch zur Folgeseite (http://www.giantitp.com/comics/oots0002.html) und lädt den comic herunter. und das so oft, bis es die seite nicht mehr gibt. oder bis es die nächsten 5 Seiten nicht mehr gibt. und zwar nacheinander. Alle. egal, wie die Bilddatei heißt.

    ich hab ziemlich schnell gemerkt, dass Automator mit zählen schon überfordert ist und bin zu Applescript gegangen. Dort hab ich mir ein script zusammengeschrieben, bei dem ich den ersten Teil der Adresse eingebe, den letzten Teil, die Zahl und die Endzahl und er spuckt mir einzeln die Webadressen aus. Allerdings fehlt mir damit zu meinem Plan noch ein ganzes Stück.

    Denn wenn ich das Applescript in den Automator werfe, kann ich nur eine einzige Webseite ausgeben und das Bild dort runterladen.

    Aber das klappt noch nicht mit mehreren.


    Nun also meine Fragen:
    -Weiß jemand, ob ich Variablen aus dem Automator in Applescript reinholen und hinterher (verändert) wieder ausspucken kann? Wenn ja, wie?
    -Hat jemand Lust, mir bei dem Projekt zu helfen? Ich denke, dass da vieleviele Comics einfach mit runtergeladen werden könnten, nicht nur der von Order of the Stick.
    -Kennt jemand eine Anleitung für das neue Automator samt Variablen?



    Gruß, Blesstsnake

    hier mein script:
    Code:
    set temp1 to display dialog "Enter Beginning of Adress" default answer "http://www.giantitp.com/comics/oots" buttons {"Stop", "Go"} default button "Go"
    -- Hier wird die Eingabe des vorderen Teils der Webadresse angefordert
    set buttonpressed1 to button returned of temp1
    if buttonpressed1 is "Stop" then
    	stop
    else
    	set urlVorn to text returned of temp1
    	-- hier wird sie als "urlVorn" definiert
    	set temp2 to display dialog "Enter ending of adress" default answer ".html" buttons {"Stop", "Go"} default button "Go"
    	-- hier wird die Eingabe des hinteren Teils der Webadresse angefordert
    	set buttonpressed2 to button returned of temp2
    	if buttonpressed2 is "Stop" then
    		stop
    	else
    		set urlHinten to text returned of temp2
    		-- hier wird sie als "urlHinten" definiert
    		set tempMiddle to display dialog "Number to start with (including all Zeros before the actual number)" default answer "0001" buttons {"Stop", "Go"} default button "Go"
    		-- hier wird der Startzahlenwert abgefragt
    		set buttonpressed1 to button returned of temp1
    		if buttonpressed1 is "Stop" then
    			stop
    		else
    			set urlMiddle to text returned of tempMiddle
    			-- hier wird er als urlMiddle definiert
    			set tempEnd to display dialog "Count until Number ..." default answer "42" buttons {"Stop", "Go"} default button "Go"
    			-- Hier wird die letzte Zahl angefordert
    			set buttonpressed4 to button returned of tempEnd
    			if buttonpressed4 is "Stop" then
    				stop
    			else
    				set EndNumber to text returned of tempEnd
    				-- hier wird sie als "EndNumber" definiert
    				repeat EndNumber - urlMiddle + 1 times
    					-- hier wird wiederholt bis zur letzten Zahl
    					set finalurl to urlVorn & urlMiddle & urlHinten
    					display dialog finalurl
    					-- hier wird die adresse angezeigt
    					set urlNumberNew to urlMiddle + 1 as string
    					set Diff to (length of urlMiddle) - (length of urlNumberNew)
    					repeat Diff times
    						set urlNumberNew to "0" & urlNumberNew
    					end repeat
    					-- hier werden Nullen vor die Ziffer gesetzt
    					set urlMiddle to urlNumberNew
    				end repeat
    			end if
    		end if
    	end if
    end if
     
  2. quarx

    quarx Hadelner Sommerprinz

    Dabei seit:
    17.04.05
    Beiträge:
    8.541
    Reicht es nicht, das Comic-Archiv komplett mit SiteSucker herunter zu laden?

    Edit: Die Comics sind ja nur GIF-Grafiken der Form http://www.giantitp.com/comics/images/oots0001.gif. Tut es nicht dann ein
    Code:
    curl -O "http://www.giantitp.com/comics/images/oots[0001-0042].gif"
    
    im Terminal?
     
  3. BlesstSnake

    BlesstSnake Jamba

    Dabei seit:
    23.09.05
    Beiträge:
    55
    den curl-befehl kenn ich gar nicht...

    aber abgesehen davon sind es leider nicht nur oots00xx.gif-dateien, sondern später werden die - vermutlich um einem ebensolchen automatisieren vorzubeugen - zu dateien der art fgcec2994hadbb21kjhbsxayxw.gif. Und da wird der befehl nicht mehr funktionieren, oder?

    Der Sitesucker sieht vielversprechend aus. Zumal er anscheinend auch Applescripts benutzt. Vielleicht hilft mir das weiter. Danke dafür!
     
  4. Skeeve

    Skeeve Pomme d'or

    Dabei seit:
    26.10.05
    Beiträge:
    3.121
    Würde ich das laden wollen, nähme ich wahrscheinlich wget her und würde das komplette Archiv laden. Anschließend kann man auf der Platte in Ruhe die gifs suchen.
     
  5. Skeeve

    Skeeve Pomme d'or

    Dabei seit:
    26.10.05
    Beiträge:
    3.121
    Ich korrigiere mich!

    Ich würde mir ein perl script schreiben:
    1. lade (mit curl) http://www.giantitp.com/comics/oots.html
    2. Suche darin nach den Comic Links
    3. Teste, welche von denen ich schon habe
    4. Für jedes, noch nicht vorhandene
      1. Lade die HTML Seite mit curl
      2. Suche den GIF-Link
      3. Lade mit curl die Grafik und speichere sie unter der Nummer des Comics
     

Diese Seite empfehlen