2010-10-16 9 views

risposta

30
wget --spider --recursive --no-verbose --output-file=wgetlog.txt http://somewebsite.com 
sed -n "[email protected]\+ URL:\([^ ]\+\) .\[email protected]\[email protected]" wgetlog.txt | sed "[email protected]&@\&@" > sedlog.txt 

Questo crea un file chiamato sedlog.txt che contiene tutti i link presenti sul sito web specificato. È possibile utilizzare PHP o uno script di shell per convertire la sitemap del file di testo in una sitemap XML. Modificare i parametri del comando wget (accept/reject/include/exclude) per ottenere solo i collegamenti necessari.

+0

+1 Non riuscivo a usarlo in quel modo dato che mi stava dando un sacco di errori (probabilmente a causa di diverse versioni di wget/sed). Ma una volta apportato qualche modifica, ha funzionato come un incantesimo. Grazie! – Julian

+2

Dovresti aggiungere un piccolo ritardo tra le richieste usando '--wait = 1', altrimenti potrebbe influire sulle prestazioni del sito. – Liam

1

È possibile utilizzare questo script in Perl per fare il trucco:

+0

Genererà tramite scansione del file system ma non "esegue la scansione". I siti che voglio spider sono dinamici. –

Problemi correlati