Сделать wget загрузкой ресурсов страницы в другом домене
16
Как вы используете wget для загрузки всего сайта (домен A), когда его ресурсы находятся в другом домене (домен B)?
Я пробовал: wget -r --level=inf -p -k -E --domains=domainA,domainB http://www.domainA
Причина, по которой команда не работает, заключается в том, что --domainsсамо по себе использование не включается --span-hosts. Добавление --span-hostsрешило бы проблему. : |
ОБНОВЛЕНИЕ: я помню, что команда выше работала для меня в прошлом (это был 2010 год, и я тогда использовал GNU Tools для Windows ); однако я должен был изменить это на следующее, когда я хотел использовать это сегодня:
Я получаю: wget: --span-hosts: недопустимое логическое значение включено domainA,domainB'; use или выключено. После включения он не работает.
Мэтью Флэшен
@MatthewFlaschen То, что я здесь написал, сработало для меня. Не могли бы вы привести аргументы, которые вы использовали?
Parsa
У меня нет точной команды, которую я выполнял раньше. Однако у меня та же проблема: wget --recursive --level=inf --page-requisites --convert-links --html-extension --span-hosts=example.org,iana.org example.org я использую GNU Wget 1.13.4 в Debian.
Мэтью Флэшен
3
Попробуйте --span-hosts --domains=example.org,iana.org- я думаю, что это --span-hostsдолжно быть логическое значение, а затем вы используете, --domainsчтобы указать, какие хосты охватывают.
Эрик Милл,
Konklone, --span-hosts - логическое значение с 1.12 и позже, я этого не знал. @ MatthewFlaschen, я обновил ответ. Кстати, это все еще будет работать на 1.11 и более ранних, если вы используете GNU Tools для Windows.
Это отчасти работает. Однако, по некоторым причинам, это не работает, если URL (в конце) является перенаправлением. Кроме того, он также загружает ссылки, а не только реквизиты страниц. Кроме того, -r и --recursive являются одинаковыми.
Рассмотрите возможность использования HTTrack . У него больше возможностей при сканировании контента на других доменах, чем на wget. Использование wget с --span-hosts, --domains и --accept где недостаточно для моих нужд, но HTTrack сделал свою работу. Я помню, что установка лимита перенаправлений на другие домены очень помогла.
--domains
само по себе использование не включается--span-hosts
. Добавление--span-hosts
решило бы проблему. : |Ответы:
ОБНОВЛЕНИЕ: я помню, что команда выше работала для меня в прошлом (это был 2010 год, и я тогда использовал GNU Tools для Windows ); однако я должен был изменить это на следующее, когда я хотел использовать это сегодня:
Сокращение для этого было бы:
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>
источник
domainA,domainB'; use
или выключено. После включения он не работает.wget --recursive --level=inf --page-requisites --convert-links --html-extension --span-hosts=example.org,iana.org example.org
я использую GNU Wget 1.13.4 в Debian.--span-hosts --domains=example.org,iana.org
- я думаю, что это--span-hosts
должно быть логическое значение, а затем вы используете,--domains
чтобы указать, какие хосты охватывают.wget --recursive --level = inf - реквизиты страницы --convert-links --html-расширение -rH -DdomainA, domainB domainA
источник
Возможно, вам придется игнорировать файл robots.txt (обратите внимание, что это может быть нарушением некоторых условий обслуживания, и вам следует загрузить необходимый минимум). См. Https://www.gnu.org/software/wget/manual/wget.html#Robot-Exclusion .
источник
Рассмотрите возможность использования HTTrack . У него больше возможностей при сканировании контента на других доменах, чем на wget. Использование wget с --span-hosts, --domains и --accept где недостаточно для моих нужд, но HTTrack сделал свою работу. Я помню, что установка лимита перенаправлений на другие домены очень помогла.
источник