Сделать wget загрузкой ресурсов страницы в другом домене
Как вы используете wget для загрузки всего сайта (домен A), когда его ресурсы находятся в другом домене (домен B)?
Я пробовал:wget -r --level=inf -p -k -E --domains=domainA,domainB http://www.domainA
3 ответа
wget --recursive --level=inf --page-requisites --convert-links --html-extension \
--span-hosts=domainA,domainB url-on-domainA
ОБНОВЛЕНИЕ: я помню, что команда выше работала для меня в прошлом (это был 2010 год, и я тогда использовал GNU Tools для Windows); однако я должен был изменить это на следующее, когда я хотел использовать это сегодня:
wget --recursive --level=inf --page-requisites --convert-links \
--adjust-extension --span-hosts --domains=domainA,domainB domainA
Сокращение для этого было бы: wget -rEDpkH -l inf domainA,domainB domainA
-rзнак равно--recursive-l <depth>знак равно--level=<depth>-Eзнак равно--adjust-extension-pзнак равно--page-requisites-Kзнак равно--backup-converted-kзнак равно--convert-links-D <domain-list>знак равно--domain-list=<domain-list>-Hзнак равно--span-hosts-npзнак равно--no-parent-U <agent-string>знак равно--user-agent=<agent-string>
Руководство по GNU Wget: https://www.gnu.org/software/wget/manual/wget.html
wget --recursive --level = inf - реквизиты страницы --convert-links --html-расширение -rH -DdomainA, domainB domainA
wget --page-requisites --convert-links --adjust-extension --span-hosts --domains domainA,domainB domainA
Возможно, вам придется игнорировать файл robots.txt (обратите внимание, что это может быть нарушением некоторых условий обслуживания, и вам следует загрузить необходимый минимум). См. https://www.gnu.org/software/wget/manual/wget.html.
Рассмотрите возможность использования HTTrack. У него больше возможностей при сканировании контента на других доменах, чем на wget. Использование wget с --span-hosts, --domains и --accept там, где этого недостаточно для моих нужд, но HTTrack сделал свою работу. Я помню, что установка лимита перенаправлений на другие домены очень помогла.