Per Default Einstellung folgt wget der robots.txt. Sprich er lädt diese runter und schaut nach ob er z.b. eine bestimmte Datei runterladen darf oder nicht.
Wenn nun z.b. in der robots.txt drinsteht das kein Robot etwas runterladen darf:
User-agent: *
Disallow: /
Wenn man nun wget im Debug Modus startet
wget -d "URL"
kommt etwa eine solche Meldung
Deciding whether to enqueue "http://www.url.net/pfad/bild.jpg".
Rejecting path pfad/bild.jpg because of rule `'.
Not following http://www.url.net/pfad/bild.jpg because robots.txt forbids it.
Decided NOT to load it.
Wenn man nun einmal bei wget sich die Hilfe anscahut
wget -h
Wird man dort leider keine Lösung dazu finden.
Aber das wget Handbuch gibt da schon mehr Auskünfte. In der Sektion 9.1 vom Handbuch wird beschrieben wie man die robots.txt umgeht.
Entweder mittels der wget Konfigurationsdatei .wgetrc das ist dann für immer oder für den einmaligen Gebruach als Schalter auf der Konsole.
Der Part in der .wgetrc wird von
# Setting this to off makes Wget not download /robots.txt. Be sure to
# know *exactly* what /robots.txt is and how it is used before changing
# the default!
#robots = on
zu
# Setting this to off makes Wget not download /robots.txt. Be sure to
# know *exactly* what /robots.txt is and how it is used before changing
# the default!
robots = off
geändert.
Für den einmaligen gebruach empfiehlt sich es aber dies mittels Schalter auf der Kommandozeile zu erledigen. Der schalter dafür ist -e robots=off
wget -e robots=off URL
Dadurch wird die Überprüfung der robots.txt umgangen und wget fährt ohne murren fort.
Sollte der User-Agent "wget" durch eine Regel in der .htaccess oder in der Webserver konfiguration geblockt sein, kann man den User-Agent ändern. Das ist aber ein andere Kapitel 😉