Зробіть завантаження ресурсів сторінки в інший домен


16

Як ви використовуєте wget для завантаження цілого сайту (домену A), коли його ресурси знаходяться на іншому домені (домен B)?
Я спробував:
wget -r --level=inf -p -k -E --domains=domainA,domainB http://www.domainA


Оце Так! Ніхто зрештою цей час?
Парса

Причина того, що команда не працює, полягає в тому, що використання --domainsсамостійно не вмикається --span-hosts. Додавання --span-hostsвирішило б проблему. : |
Парса

Відповіді:


14
wget --recursive --level=inf --page-requisites --convert-links --html-extension \
     --span-hosts=domainA,domainB url-on-domainA

ОНОВЛЕННЯ: я пам’ятаю, що команда, яка була вище, працювала для мене в минулому (це був 2010 рік, і тоді я використовував інструменти GNU для 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>

Посібник з Wget GNU: https://www.gnu.org/software/wget/manual/wget.html


Я отримую: wget: --span-hosts: Неправильний булевий параметр domainA,domainB'; use 'або' off '. Після переходу на режим він не працює.
Метью Флашен

@MatthewFlaschen Те, що я написав тут, працювало на мене. Не могли б ви надати використані вами аргументи?
Парса

У мене немає точної команди, якою я бігав раніше. Однак у мене така ж проблема: 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-господарі є булевим з 1,12 і пізніше, я цього не знав. @MatthewFlaschen, я оновив відповідь. До речі, це все ще працюватиме з версією 1.11 і раніше, якщо ви використовуєте Інструменти GNU для Windows.
Парса

1

wget --рекурсивний --level = inf - сторінка-реквізити --convert-посилання --html-розширення -rH -ДоменA, domainB domainA


Частково це працює. Однак, чомусь, схоже, це не працює, якщо URL-адреса (в кінці) є переспрямуванням. Крім того, він також завантажує посилання, а не лише реквізити сторінки. Також, -r і --рекурсивні однакові.
Метью Флашен

0
wget --page-requisites --convert-links --adjust-extension --span-hosts --domains domainA,domainB domainA

Можливо, вам доведеться ігнорувати robots.txt (зауважте, це може бути порушенням деяких умов обслуговування, і ви повинні завантажити мінімально необхідний). Див. Https://www.gnu.org/software/wget/manual/wget.html#Robot-Exclusion .


-1

Подумайте про використання HTTrack . Під час сканування вмісту в інших доменах більше варіантів, ніж у wget. Використання wget з --span-хостами, --domains та --accept там, де недостатньо для моїх потреб, але HTTrack зробив цю роботу. Я пам’ятаю, що встановлення ліміту перенаправлень на інші домени дуже допомогло.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.