Chciałbym indeksować linki pod www.website.com/XYZ i pobierać tylko te linki, które znajdują się pod www.website.com/ABC.
Używam następującego polecenia wget, aby uzyskać potrzebne pliki:
wget -I ABC -r -e robots=off --wait 0.25 http://www.website.com/XYZ
Działa to doskonale, gdy używam wget 1.13.4. Ale problem polega na tym, że muszę użyć tego polecenia na serwerze, który ma wget 1.11, a kiedy używam tego samego polecenia, kończy się pobieranie dodatkowych domen, takich jak:
www.website.de
www.website.it
...
Jak mogę uniknąć tego problemu? Próbowałem użyć
--exclude domains=www.website.de,www.website.it
jednak nadal pobierał te domeny.
Pamiętaj też, że nie mogę używać, --no-parent
ponieważ pliki, które chcę, znajdują się na wyższym poziomie (chcę pliki w witrynie website.com/ABC, indeksując linki w witrynie website.com/XYZ).
Jakieś wskazówki?
command-line
wget
użytkownik2779485
źródło
źródło
wget
nie powinna domyślnie przechodzić między hostami i potrzebujesz opcji-H
/--span-hosts
, aby przenosić hosty podczas wykonywania rekurencyjnego wgeta. „www.website.com” to zupełnie inny host niż „www.website.de”.-H
zawsze był wymagany do ponownego uruchomienia poza oryginalnym hostem. Czy-D www.website.com
pomagaOdpowiedzi:
To jest źle:
Właściwy sposób to:
Ze strony man wget:
źródło
Możesz spróbować
--max-redirect 0
lub użyć--domains example.com
jako przeciwieństwo--exclude-domains example.com
.Widzieć:
źródło