2010-10-16 16 views

Odpowiedz

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 

To tworzy plik o nazwie sedlog.txt który zawiera wszystkie linki znajdujące się na podanej stronie internetowej. Możesz użyć PHP lub skryptu powłoki, aby przekonwertować mapę witryny pliku tekstowego na mapę witryny XML. Zmień parametry komendy wget (akceptuj/odrzuć/dołącz/wyklucz), aby uzyskać tylko potrzebne linki.

+0

+1 Nie mogłem tego w pełni wykorzystać, ponieważ dawało mi to mnóstwo błędów (prawdopodobnie z powodu różnych wersji wget/sed). Ale kiedy zrobiłem jakieś poprawki, zadziałało to jak urok. Dzięki! – Julian

+2

Powinieneś dodać małe opóźnienie między żądaniami używając '--wait = 1', w przeciwnym razie może to wpłynąć na wydajność witryny. – Liam

1

Można użyć tego skryptu perla rade:

+0

Zostanie wygenerowany przez skanowanie systemu plików, ale nie będzie "przeszukiwany". Strony, które chcę spider, są dynamiczne. –