Зеркальное отображение каталога сайта

1

Я хочу скачать классику «НАЧАЛО ФОРТА» книга, которая вроде бы вышла из печати, но доступна Вот бесплатно. То есть я хочу использовать сайт-риппер для загрузки всех HTML-страниц внутри forth.com/starting-forth/ подкаталог (и только там), которые связаны с индексом, а также все изображения, используемые на этих страницах, независимо от их местоположения.

Я пытался сделать это с помощью httrack, но, похоже, вполне сложно потому что мне бы пришлось вручную добавить все подкаталоги forth.com/starting-forth/,

Как мне поступить? Решения для Windows или Linux хороши, хотя я бы предпочел последнее.

wolf-revo-cats
источник
Ты пробовал wget? Кстати читать все параметры и поиск некоторых пример командной строки в Интернете. Кажется, на этом сайте нет правил robot.txt. `wget -p -k example.com/sub-dir 'Проверьте, чтобы опция оставалась на сайте и не заходила в этот начальный каталог.
Hastur
Пытаться HTTrack Он предназначен для того, чтобы делать то, что вы хотите. Работает на обоих - Linux и Windows
Alex

Ответы:

3

Ты можешь использовать wget,

wget -r -np -k https://www.forth.com/starting-forth/
  • -r рекурсивный
  • -np не переходите по ссылкам на родительские каталоги
  • -k чтобы ссылки в загруженном HTML или CSS указывали на локальные файлы

(От этот ответ )

(Изменить) Последние команды:

wget -r -np -k -p --domains forth.com,netdna-ssl.com -H https://www.forth.com/starting-forth/
  • --domains используется для установки доменов, с которых будет загружаться контент. Обычно это просто веб-сайт и CDN.
  • -H позволяет загружать контент с других хостов (тех, которые вы вставили в --domain ).

find . -name "*.html" -type f -exec sed -i 's/\?ver=/_ver=/g' {} +

Это ищет все HTML-файлы и заменяет ссылки на ?ver с _ver потому что, когда wget загружает любые файлы, где URL-адрес содержит что-то вроде jquery.colorbox.js?ver=1.1.0 это должно заменить ? с _ сохранить его как файл.

Kevin
источник
@ wolf-revo-cats Я попробовал это локально и, насколько я могу судить, все изображения были сохранены.
Kevin
для меня нет и я использовал именно вашу команду. Конечно, они появляются в браузере, потому что вы онлайн. Но сделайте поиск в каталоге локальных зеркал для файлов изображений, там нет ни одного.
wolf-revo-cats
хорошо, я прочитал справочную страницу wget Вот этот wget -r -np -k -p --domains forth.com,netdna-ssl.com -H https://www.forth.com/starting-forth/ вид работ. По крайней мере, он загружает файлы изображений. Есть еще что-то не совсем правильное с макетом зеркального сайта :-( :-( но это нормально, по крайней мере годный к употреблению теперь, если вы действительно не в сети. Если вы знаете, как это исправить, пожалуйста, дайте мне знать. Спасибо за вашу помощь.
wolf-revo-cats
Как кажется, wget заменяет «?» в файлах, таких как colorbox.css? ver = 4.7.2 с "_". Вы могли бы запустить что-то вроде find . -name "*.html" -type f -exec sed -i 's/\?ver=/_ver=/g' {} +
Kevin