wget не преобразование ссылок

Я пытаюсь отразить довольно большой сайт (20 000+ страниц) до капитального ремонта. В принципе, мне нужна резервная копия, прежде чем переходить к новой, если мы забыли что-то, что нам нужно (у нас будет около 1000 страниц при запуске). Сайт работает на CMS, из которой я не могу легко извлечь полезные данные, поэтому я пытаюсь сделать копию с помощью wget.

моя проблема в том, что wget, по-видимому, не конвертирует ссылки, несмотря на наличие --convert-links или -k в команда. Я пробовал несколько разных комбинаций флагов, но я не смог получить нужный мне результат. Последняя неудачная попытка была:

nohup wget --mirror -k -l10 -PafscSnapshot --html-extension -R *calendar* -o wget.log http://www.example.org &

Я также включил --backup-converted и --convert-links вместо-k (не то, чтобы это имело значение). Я сделал это с и без-P и-l, опять же, не то, что они должны иметь значение.

результаты в файлах, которые по-прежнему имеют ссылки, как:

http://www.example.org/ht/d/sp/i/17770
10
задан acrosman
27.12.2022 16:33 Количество просмотров материала 3252
Распечатать страницу

4 ответа

Это старый пост, но я отвечу здесь для будущих искателей.

--convert-links функции происходит только после загрузка сайта завершена. Я бы предположил, что с таким большим сайтом вы попытались остановить процесс после того, как были завершены несколько страниц, и поэтому процесс еще не начался.

Смотрите также https://stackoverflow.com/questions/6348289/download-a-working-local-copy-of-a-webpage

от wget docs

‘-k’
‘--convert-links’
After the download is complete, convert the links in the document to make them suitable for local viewing. This affects not only the visible hyperlinks, but any part of the document that links to external content, such as embedded images, links to style sheets, hyperlinks to non-html content, etc.

Each link will be changed in one of the two ways:

    The links to files that have been downloaded by Wget will be changed to refer to the file they point to as a relative link.

    Example: if the downloaded file /foo/doc.html links to /bar/img.gif, also downloaded, then the link in doc.html will be modified to point to ‘../bar/img.gif’. This kind of transformation works reliably for arbitrary combinations of directories.
    The links to files that have not been downloaded by Wget will be changed to include host name and absolute path of the location they point to.

    Example: if the downloaded file /foo/doc.html links to /bar/img.gif (or to ../bar/img.gif), then the link in doc.html will be modified to point to http://hostname/bar/img.gif. 

Because of this, local browsing works reliably: if a linked file was downloaded, the link will refer to its local name; if it was not downloaded, the link will refer to its full Internet address rather than presenting a broken link. The fact that the former links are converted to relative links ensures that you can move the downloaded hierarchy to another directory.

Note that only at the end of the download can Wget know which links have been downloaded. Because of that, the work done by ‘-k’ will be performed at the end of all the downloads. 
8
отвечен mrisher 2022-12-29 00:21

может быть, вы столкнулись с wget-k конвертирует файлы по-разному в Windows & Linux из-за ограничений имени файла ОС?

1
отвечен matt wilkie 2022-12-29 02:38

У меня такое же с сайтом 6Gig я пытаюсь резервного копирования. Через несколько дней wget завершает работу без сообщения об ошибке и завершает работу со статусом 0, но без преобразования ссылок. Делает небольшой поиск с теми же параметрами работает нормально. Это как если бы внутренняя таблица, Что было загружено стирается или поврежден до wget заканчивается.

Я собираюсь попробовать обновить сайт с помощью-nc (который не должен ничего переписывать, потому что он уже загружен и заканчивает конвертацией ссылки - см. Make wget конвертировать HTML-ссылки в относительные после загрузки, если -k не был указан)

1
отвечен commonpike 2022-12-29 04:55

-к игнорируется, Если также -о по схеме:

обратите внимание, что в сочетании с ‘-к’ допускается только при загрузке одного документа, так как в этом случае он будет просто конвертировать все относительные URI, чтобы внешние; ‘-к’ не имеет смысла для несколько URI, когда все они загружены в один файл;- К могут использоваться только тогда, когда выход на обычный файл.

0
отвечен Chris 2022-12-29 07:12

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх