Come eseguire la scansione usando wget per scaricare SOLO file HTML (ignora immagini, css, js)


14

In sostanza, voglio eseguire la scansione di un intero sito con Wget, ma non mi serve MAI scaricare altre risorse (ad esempio immagini, CSS, JS, ecc.). Voglio solo i file HTML.

Le ricerche su Google sono completamente inutili.

Ecco un comando che ho provato:

wget --limit-rate=200k --no-clobber --convert-links --random-wait -r -E -e robots=off -U "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.102 Safari/537.36" -A html --domain=www.example.com http://www.example.com

Il nostro sito è ibrido flat-PHP e CMS. Così, HTML "file" potrebbe essere /path/to/page, /path/to/page/, /path/to/page.php, o /path/to/page.html.

Ho anche incluso, -R js,cssma scarica comunque i file, POI li rifiuta (inutile spreco di larghezza di banda, CPU e carico del server!).


2
qual è il comando che hai provato finora? Se la denominazione dei file è coerente, dovresti essere in grado di utilizzare il flag -R. In alternativa, puoi usare il flag --ignore-tags e ignorare i tag script e img.
Ernie,


Ho provato ad usare --accept = html, ma scarica i file CSS POI li elimina. Voglio impedire loro di scaricare mai. Una richiesta di intestazione va bene, però - ad esempio noto Length: 558 [text/css]sui file che non desidero. Se potessi interrompere la richiesta se l'intestazione non ritorna text/html, sarei euforico.
Nathan JB,

Risposte:


13

Il commento di ernie su --ignore-tagsmi guida lungo la strada giusta! Quando ho guardato fino --ignore-tagsa man, ho notato --follow-tags.

Impostazione --follow-tags=ami ha permesso di saltare img, link, script, etc.

Probabilmente è troppo limitato per alcune persone che cercano la stessa risposta, ma in realtà funziona bene nel mio caso (va bene se mi manca un paio di pagine).

Se qualcuno trova un modo per consentire la scansione di TUTTI i tag, ma impedisce wgetdi rifiutare i file solo dopo che sono stati scaricati (dovrebbero rifiutare in base al nome del file o all'intestazione Tipo di contenuto prima del download), accetterò molto felicemente la loro risposta!


5

che dire di aggiungere le opzioni:

--reject '*.js,*.css,*.ico,*.txt,*.gif,*.jpg,*.jpeg,*.png,*.mp3,*.pdf,*.tgz,*.flv,*.avi,*.mpeg,*.iso'
--ignore-tags=img,link,script 
--header="Accept: text/html"
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.