Domanda:
Posso scaricare tutte le immagini su una pagina?
JShoe
2013-01-16 10:09:46 UTC
view on stackexchange narkive permalink

Esiste un modo per eseguire uno script con una determinata pagina Web come argomento che scaricherà tutte le immagini da lì?

Hai guardato Automator? È già stato scritto un plug-in per ottenere l'URL dell'immagine dalla pagina Web. Fai attenzione con domande troppo ampie (oltre a inondare il sito con troppe domande e nessuna risposta - il sito funziona meglio quando rispondi oltre che chiedi, anche se le domande sono tutte buone).
Cinque risposte:
#1
+7
Graham Miln
2013-01-17 23:45:18 UTC
view on stackexchange narkive permalink

Puoi utilizzare un flusso di lavoro di Automator per scaricare immagini incorporate in una pagina web o immagini collegate da una pagina web. Un buon punto di partenza per un flusso di lavoro è:

  1. Ottieni la pagina web corrente da Safari
  2. Ottieni gli URL delle immagini dalla pagina web
  3. Scarica gli URL
  4. Downloading images from web pages with Automator on Mac OS X 10.8

    Puoi modificare il flusso di lavoro per utilizzare un elenco di pagine web da cui recuperare.

    Automator è incluso con Mac OS X nel Applicazioni > Utilities cartella.

Copiare tutti gli URL delle immagini? `Lynx -dump` potrebbe funzionare durante il download ma molte analisi - non è un metodo più semplice? -1 a meno che il secondo punto non venga chiarito - può essere molto lavoro ...
@hhh la seconda sezione, ottieni URL di immagine, viene eseguita dall'azione Automator visualizzata nella schermata. Non c'è lavoro significativo per l'utente.
+1 ehi questo è fantastico, perché non posso cambiare il mio voto negativo in voto positivo? Non sapevo che fosse così facile! Grazie per la condivisione :)
#2
+7
Lri
2013-01-17 21:12:01 UTC
view on stackexchange narkive permalink
  wget -nd -r -l1 -p -np -A jpg, jpeg, png, svg, gif -e robots = off http://www.apple.com/itunes/  
  • -nd (nessuna directory) scarica tutti i file nella directory corrente
  • -r -l1 (livello ricorsivo 1) scarica le pagine collegate e le risorse sulla prima pagina
  • -p (requisiti di pagina) include anche risorse sulle pagine collegate
  • -np (nessun genitore) non segue i link alle directory padre
  • -A (accetta) solo scarica o conserva i file con le estensioni specificate
  • -e robots = off ignora il file robots.txt e non scarica un file robots.txt nella directory corrente

Se il le immagini sono su un host o sottodominio diverso, devi aggiungere -H per estendere gli host:

  wget -nd -H -p -A jpg, jpeg, png, gif -e robots = off http://example.tumblr.com/page/{1..2}

Puoi anche usare curl:

cd ~ / Desktop / ; IFS = $ '\ n'; for u in $ (curl -Ls http://example.tumblr.com/page/{1..2} | sed -En's /.* src = "([^"] + \. (jpe? g | png)) ". * / \ 1 / p '| sort -u); do curl -s" $ u "-O; fatto

-L segue le intestazioni della posizione (reindirizzamenti) . -O invia file alla directory corrente con gli stessi nomi.

dove viene scaricato?solo la pagina principale viene visualizzata nella directory di lavoro ... i file collegati vengono salvati da qualche altra parte?
#3
+4
Kevin Chen
2013-01-16 13:31:25 UTC
view on stackexchange narkive permalink

Ecco una soluzione hacky (ma funziona). Spero che qualcuno possa trovarne uno migliore.

  1. In Terminal, usa wget --page-requisites http://example.com/ . Questo scaricherà la pagina web su example.com e tutte le risorse collegate da essa (come immagini, fogli di stile e script). Ulteriori informazioni su --page-requisites. Nota: puoi aggiungere molti URL separati da spazi per scaricarne molti contemporaneamente. Se molti provengono dallo stesso server, dovresti usare qualcosa come wget --wait = 2 per evitare di scaricare i file troppo velocemente.

  2. Apri la cartella in cui hai scaricato quei file e usa Spotlight per separare le immagini dagli altri file. Presumo che tu abbia Mountain Lion. Digita "Immagine" nel campo di ricerca e seleziona Tipi> Immagine.

Ha scaricato solo il codice HTML, non nessuna delle immagini. Sembra essere lo stesso come se avessi fatto "Salva con nome ..." nel mio browser web.
O il sito sta usando JavaScript per caricare il contenuto, o blocca `wget` dallo user agent. Nel secondo caso, puoi provare a usare` wget -U "inserisci qui lo user-agent del tuo browser web" "per fingere di essere un vero browser web.
@JShoe Ho appena testato il flag -U con l'agente utente di Safari e funziona.
Stavo usando Chrome e stavo cercando di scaricare da imgur. Inoltre, cos'è un agente utente?
@JShoe Lo User-agent è ciò che un browser o un client come wget utilizza per identificarsi con un server. [Questo sito web] (http://httpbin.org/user-agent) ti mostrerà la stringa dello user-agent che il tuo browser ha inviato al suo server. Questo è quello che ho usato con wget -U.
Ok, quindi ho eseguito con successo il comando aggiornato, ma ha comunque scaricato solo il codice HTML.
[continuiamo questa discussione in chat] (http://chat.stackexchange.com/rooms/7134/discussion-between-kevin-chen-and-jshoe)
Potresti usare `Lynx -dump` e analizzare tutti gli URL di immagine lì o forse qualche scraper, cercando di trovare una soluzione migliore anche se questo è carino - potresti spiegare come hai ottenuto GNU coreutils in OS X?
@hhh L'ho compilato dal sorgente, ma puoi anche usare Homebrew o MacPorts. (Penso che venisse con OS X?)
#4
  0
hhh
2013-02-07 05:58:11 UTC
view on stackexchange narkive permalink

Se conosci il pattern nell'URL, puoi utilizzare la soluzione * ix con Curl: Usa curl per scaricare immagini dal sito Web utilizzando caratteri jolly?

#5
  0
brian
2014-08-30 00:38:32 UTC
view on stackexchange narkive permalink

Dai un'occhiata a Automator Space su MyAppleSpace http://www.myapplespace.com/pages/view/14664/automator-script-library

Questo non è necessario in quanto Automator lo ha già.
... e le risposte di solo collegamento sono scoraggiate e la risposta accettata mostra già come farlo in Automator.


Questa domanda e risposta è stata tradotta automaticamente dalla lingua inglese. Il contenuto originale è disponibile su stackexchange, che ringraziamo per la licenza cc by-sa 3.0 con cui è distribuito.
Loading...