Сделать 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 сделал свою работу. Я помню, что установка лимита перенаправлений на другие домены очень помогла.