Własny prosty spider za pomocą WGET

W skrócie, jest to dość skutecznie niedziałający link finder. Świetna wiadomość dla każdego, z długoletnim stażem na blogu czy posiadającego CMS taki jak WordPress. Dzięki temu mozesz zaktualizować wszystkie linki do artykułów które zostały umieszczone we wpisach na blogu.

Instalujemy wget:

sudo apt-get install wget

Dla dużych serwisów warto również zaopatrzyć się w screena, aby zachować sesję i powrócić do niej po godzinach pracy naszego spidera:

sudo apt-get install screen

Odpalamy screena:

screen

Tworzymy plik odpalający naszego spidera:

touch ./spider
chmod 755 ./spider
nano ./spider

I piszemy w pliku:

wget --spider -o ./not-found.log -e robots=off -w 1 -r -E -H -p -nH -nd http://www.example.com

Gdzie:

  • –spider – odpala wget w trybie spidera – nie pobiera nic
  • -o – wynik zapisywany jest do pliku wyjściowego a nie na ekran jak domyślnie
  • -e robots=off – nie bierze pod uwagę dyrektyw z robots.txt
  • -w 1 – czeka 1s pomiędzy requestami aby nie zarzynać serwera
  • -r – rekursja – będą brane pod uwage wszystkie znalezione linki
  • -E – określanie poprawnego rozszerzenia pliku HTML
  • -H – podążanie za zewnętrznymi hostami
  • -p – będzie brał pod uwagę inne linki, np. obrazy – ponieważ naszym zadaniem jest zebranie informacji o wszelkich odnośnikach które mogą powodować błędy na naszej stronie
  • -nH  – nie tworzy katalogów dla zewnętrznych hostów
  • -nd – nie tworzy katalogów lokalnych

Odpalamy naszego spidera:

sh ./spider

I zachowujemy sesję screena:

[ctrl]-[a] + [d]

Okresowo sprawdzamy jak wygląda postęp:

screen -r
tail ./not-found.log -n50
[ctrl]-[a] + [d]

Po zakończeniu, najlepiej grep’em szukamy błędów:

grep -B 2 '404' ./not-found.log
5/5 - (3 votes)

admin

Love Linux!

Możesz również polubić…