Бывает, что хочется иметь локальную копию какого-то сайта, чтобы можно было её просматривать, не подключаясь к Интернет, или чтобы сохранить её на будущее, на случай, если «оригинал» исчезнет.
Сделать это легко. Я часто использую скрипт siteget, написанный Джильсом Орром. По сути это всего лишь вызов программы wget c «правильным набором опций», однако вводить две строчки опций каждый раз лень
Итак,
* создайте скрипт
Код:
#!/bin/bash
#
# siteget - Use wget to retrieve a website
#
if [ "$#" -ne "1" ]
then
echo "$(basename ${0}) <URL>"
echo ""
echo "Get a website or book on the web using wget. It's a one-liner, but"
echo "it uses a lot of options, so I put it in a script. Takes one option,"
echo "a top-level URL."
exit 1
fi
# --mirror gives infinite recursion, follows links ...
# --convert-links converts links for local viewing
# --no-verbose is a relatively quiet (but not silent) mode
# --no-parent won't traverse up the tree - don't know how this combines with
# "page-requisites," but I hope the latter wins ... (seems to work well)
# --page-requisites get images (inline OR external) for local viewing
# --user-agent sets a user agent string because some sites send empty pages if
# they don't like wget, so I use the string for what I'll be viewing with
#
wget --mirror --convert-links --no-verbose --no-parent --page-requisites \
--user-agent="Mozilla/5.0 (compatible; Konqueror/3.0.0/10; Linux)" ${1}
* поместите его в одно из мест, перечисленных в переменной окружения $PATH (я обычно держу такие вещи в ~/bin), и сделайте скрипт исполняемым (chmod a+x ~/bin/siteget)
* скачивайте любые сайты одной командой: $ siteget АДРЕС_САЙТА.
Например, чтобы получить локальную копию своего любимого сайта, я выполняю
$ siteget
http://fsb.ru/
После этого в текущем каталоге появляется подкаталог fsb.ru/. Его можно посмотреть любимым браузером (например, Firefox):
$ firefox fsb/index.html
В большинстве случаев полученная копия вполне функциональна.
Те же, кто не хотят возиться со скриптом, могут использовать wget напрямую:
$ wget -m -k -nv -np -p --user-agent="Mozilla/5.0 (compatible; Konqueror/3.0.0/10; Linux)" АДРЕС_САЙТА
Для ограничения глубины скачивания можно ещё добавлять опцию -l глубина_ссылок. А при работе с плохим или ненадёжным соединением пригодятся опции -c -t 0.
подтырил у sovety.blogspot.com
_________________
Моя характеристика с детского сада: Хорошо кушает, спит, гуляет! Прошло много лет, ничего не изменилось.
