во-первых, это, кажется, OS X только проблема. Я могу использовать команду выше на Ubuntu 14.04 LTS и она работает из коробки! Несколько предложений:
.css
файлы и изображения и т. д., похоже, не загружаются - по крайней мере, до уровня, который я оставил (хорошо, возможно, они будут загружены, если процесс будет завершен, поэтому мы можем пропустить этот)
когда вы говорите --domains wikispaces.com
, вы не будете загружать связанные CSS файлы, расположенные в других доменах. Некоторые таблицы стилей на этом веб-сайте расположены на http://c1.wikicdn.com
как предполагает источник индекса.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 ограничить скорость загрузки и подождать несколько секунд между генерацией запросов get для отдельных файлов.
например
wget -r --wait=5 --limit-rate=100K <other arguments>
подождать 5 секунд между запросами get и ограничить скорость загрузки до 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. Аргументы помогут вам выбрать правильную версию сценария в зависимости от аргумента(ов). Помните, когда вы зеркалируете сайт, особенно Вики, которая работает на PHP, вы не можете точно зеркала сайт, если вы не получаете оригинальные PHP скрипты. HTML-страницы, возвращаемые PHP-скриптами, - это всего лишь одно лицо страницы, которое вы можете увидеть с этим сценарий. Правильный алгоритм, который создает страница хранится на сервере и будет корректно зеркалироваться только в том случае, если вы получите исходный PHP файл, что вы не можете сделать с помощью HTTP. Для этого нужен FTP доступ к серверу.
надеюсь, что это помогает.
отвечен U. Muneeb 2023-03-12 07:14