1 votes

Automator : Enregistrer les images d'une liste d'URL dans un fichier texte

J'ai un fichier texte contenant une liste d'URL d'images provenant d'un site Web. Je voudrais les télécharger dans un dossier nommé Art sur mon ordinateur.

J'ai essayé Obtenir le contenu d'un document TextEdit et ensuite Extraire les URL du texte mais je ne comprends pas comment analyser chaque URL et enregistrer l'image avant de passer à l'URL suivante.

Comment puis-je télécharger par lots plusieurs images à partir de leur URL ?

3voto

wch1zpink Points 6067

Supposons un instant que les URL de vos images se trouvent dans un fichier texte situé sur votre bureau... "Liste d'images.txt"

Supposons que chaque URL d'image dans ce fichier soit sur une ligne séparée.

Supposons que le dossier "Art" se trouve sur votre bureau (dossier des images téléchargées).

enter image description here

Ce code AppleScript est tout ce dont vous avez besoin

set theList to (path to desktop as text) & "Image list.txt"
set artFolder to (path to desktop as text) & "Art"
set artFolder to quoted form of POSIX path of artFolder

set theImages to read alias theList as list using delimiter linefeed -- get the lines of a file as a list

repeat with i from 1 to count of theImages
    set thisItem to item i of theImages
    do shell script "cd " & artFolder & "; " & "curl -O " & quoted form of thisItem
end repeat

En fait, voici une solution encore meilleure. Enregistrez le code AppleScript suivant dans script Editor.app comme une application. Maintenant, vous aurez deux options.

Un double clic sur l'application dans le Finder ouvrira une boîte de dialogue vous demandant de choisir le fichier texte contenant les URL des images, puis procédera au téléchargement des images.

O

Vous pouvez faire glisser le fichier texte contenant les URL des images directement sur l'icône de l'application, dans le Finder, qui traitera et téléchargera les images contenues dans ce fichier texte. (alias Droplet)

on open theFiles
    --  Handle the case where the script is launched by dropping
    -- a .txt file, containing image URLs,  directly onto this app's icon
    set artFolder to (path to desktop as text) & "Art"
    set artFolder to quoted form of POSIX path of artFolder

    set theImages to read alias theFiles as list using delimiter linefeed

    repeat with i from 1 to count of theImages
        set thisItem to item i of theImages
        do shell script "cd " & artFolder & "; " & "curl -O " & quoted form of thisItem
    end repeat
end open

on run
    --  Handle the case where the script is launched without any dropped files
    set theList to (choose file with prompt ¬
        "Choose Your Text File Containing Image URLs" of type {"txt"} ¬
        default location (path to desktop) ¬
        invisibles false ¬
        without multiple selections allowed) as text

    set artFolder to (path to desktop as text) & "Art"
    set artFolder to quoted form of POSIX path of artFolder

    set theImages to read alias theList as list using delimiter linefeed

    repeat with i from 1 to count of theImages
        set thisItem to item i of theImages
        do shell script "cd " & artFolder & "; " & "curl -O " & quoted form of thisItem
    end repeat
end run

Voici un visuel de la gouttelette en action...

enter image description here

-1voto

Mateus Ribeiro Points 877

Je suppose que vous avez un fichier texte avec une URL par ligne. C'est important pour le flux de travail suivant. Je suppose également que vous avez des URL jpg/png pures, avec des liens directs vers les images et non des pages URL html contenant des images.

Je vais parler de Safari car il y a de fortes chances que ce navigateur soit installé sur votre système, mais les autres navigateurs devraient fonctionner de la même manière.

1 - Ouvrez Safari et allez dans préférences, généralités, et définissez votre valeur par défaut. Emplacement du téléchargement du fichier à votre ART dossier :

enter image description here

2 - Ouvrez Automator, créez un nouveau flux de travail et faites glisser une action Run AppleScript :

enter image description here

3 - Collez le code suivant :

on run
    set the clipboard to {}
    tell application "TextEdit" to activate
    tell application "System Events"
        key code 126 using command down -- go to the start of the doc (command+up)
        delay 0.1
        key code 124 using {command down, shift down} -- select the first line (commmand+shift+right arrow)
        delay 0.1
        key code 8 using command down -- copy URL (command+C)
        delay 0.1
    end tell
    repeat while (the clipboard) is not "EXIT"
        tell application "Safari" to activate
        tell application "System Events"
            key code 37 using command down -- Open Location (Command+L)
            delay 0.1
            key code 9 using command down -- paste URL (Command+V)
            delay 0.1
            key code 36 -- enter
            delay 3 -- three seconds to begin loading the image, adjust if necessary
            key code 1 using command down -- Save (command+S)
            delay 0.1
            key code 36 -- enter
            repeat while exists window "Save" of application process "Safari"
                delay 0.5 -- wait the save to end
            end repeat
        end tell
        tell application "TextEdit" to activate -- back to textEdit
        tell application "System Events"
            key code 125 -- go to next line
            delay 0.1
            key code 123 using command down -- go to the start of the line (command + left key)
            delay 0.1
            key code 124 using {command down, shift down} -- select the line (commmand+shift+right arrow)
            delay 0.1
            key code 8 using command down -- copy URL (Command+C)
            delay 0.1
        end tell
    end repeat
end run

enter image description here

4 - Placez un "EXIT" dans la dernière ligne du document pour que le programme s'arrête lorsque le travail est terminé :

enter image description here

5 - Exécuter le flux de travail

Je l'ai testé et il fonctionne bien.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X