Во-первых, это, кажется, проблема только для OS X. Я могу использовать вышеупомянутую команду на Ubuntu 14.04 LTS, и она работает из коробки! Несколько предложений:
Файлы .css
изображения и т. д., похоже, не загружаются - по крайней мере, до уровня, который я оставил запущенным (хорошо, может быть, они будут загружены, если процесс будет завершен, поэтому мы можем пропустить этот)
Когда вы говорите --domains wikispaces.com
, вы не будете загружать связанные CSS-файлы, расположенные в других доменах. Некоторые из таблиц стилей на этом сайте расположены по http://c1.wikicdn.com
что указывает на источник index.html.
Некоторые веб-сайты не позволяют вам получать доступ к их связанным файлам (ссылочным изображениям) напрямую по их ссылке (см. Эту страницу). Вы можете просматривать их только через веб-сайт. Похоже, что это не так здесь.
Wget, похоже, не распознает комментарии при разборе HTML. Когда Wget работает, я вижу следующее:
--2016-07-01 04:01:12-- http://chessprogramming.wikispaces.com/%3C%25-%20ws.context.user.imageUrlPrefix%20%25%3Elg.jpg
Reusing existing connection to chessprogramming.wikispaces.com:80.
HTTP request sent, awaiting response... 404 Not Found
2016-07-01 04:01:14 ERROR 404: Not Found.
Открыв ссылку в браузере, вы попадете на страницу входа. Название файла предполагает, что это произошло где-то в комментариях.
- Многие сайты не разрешают загрузку с помощью менеджеров загрузки, поэтому они проверяют, какой клиент отправил HTTP-запрос (включая браузер или какой-либо другой клиент, которого вы использовали для запроса файла со своего сервера).
Используйте -U somebrowser
чтобы подделать клиента и притвориться браузером. Например, можно добавить -U mozilla
, чтобы сообщить серверу, что Mozilla/Firefox запрашивает страницу. Это, однако, не является проблемой, так как я могу скачать сайт без этого аргумента.
- Скорость загрузки и запроса важна. Серверы не хотят, чтобы их производительность вздувалась роботами, запрашивающими данные с их сайта. Используйте
--limit-rate=
и --wait=
в Wget, чтобы ограничить скорость загрузки и подождать несколько секунд между генерацией запросов на получение отдельных файлов.
например
wget -r --wait=5 --limit-rate=100K <other arguments>
подождать 5 секунд между запросами получения и ограничить скорость загрузки до 100 Кбит / с. Еще раз, это не проблема здесь, потому что сервер не требовал, чтобы я ограничил скорость загрузки для загрузки веб-сайта.
Наиболее вероятный случай здесь (1). Замените --domains wikispaces.com
на --domains *
и попробуйте снова. Посмотрим, куда мы доберемся. Вы должны быть в состоянии получить файлы CSS по крайней мере.
НЕТ расширение HTML добавляется
Расширение HTML добавляется при запуске команды.
Ссылки не конвертируются
Я не думаю, что я полностью прав, но не ожидаю, что ссылки будут работать из коробки, когда вы зеркально отражаете сайт.
Когда вы передаете аргумент в запрос HTTP get (например, http://chessprogramming.wikispaces.com/wiki/xmla?v=rss_2_0
имеет аргументы v=rss_2_0
), запрос обрабатывается некоторым скриптом, работающим на сервере, для пример PHP. Аргументы помогут вам выбрать правильную версию скрипта в зависимости от аргументов. Помните, что когда вы зеркалируете сайт, особенно Wiki, который работает на PHP, вы не можете точно зеркалировать сайт, пока не получите оригинальные сценарии PHP. HTML-страницы, возвращаемые PHP-скриптами, - это всего лишь одна сторона страницы, которую вы можете увидеть в этом скрипте. Правильный алгоритм, который генерирует страницу, хранится на сервере и будет корректно отражаться только в том случае, если вы получите исходный файл PHP, чего нельзя сделать с помощью HTTP. Для этого вам нужен FTP доступ к серверу.
Надеюсь это поможет.