SashaShveik 30.07.2009 15:04
Tips & tricks — Как скачать сайт/ветку сайта
1 |
|
GNU Wget - утилита, предназначенная для скачивания файлов из интернета.
описание используемых параметров:
-m - опция зеркалирования, включающая рекурсию и учитывающая время обновления скачиваемых ресурсов. эквивалентна -r -N -l inf --no-remove-listing.
-k - после завершения закачки выполнится преобразование ссылок в документе для офлайнового просмотра закаченных ресурсов.
-nv - отключение всех дополнительных сообщений во время закачивания. даже если эта опция указана, на экран по-прежнему будут печататься сообщения об ошибках и основная информация.
-np - при рекурсивном скачивании эта опция гарантирует, что не будут закачиваться ресурсы выше по иерархии сайта. другими словами, при скачивании определенной ветки сайта будет скачена только эта ветка, а сайт целиком.
-p - скачаются все файлы, которые необходимы для корректного отображения закачиваемой HTML-страницы, включая картинки, звуки и т.п.
-U "Mozilla/5.0 (compatible; Konqueror/3.0.0/10; Linux)" - определение строки User-Agent для HTTP сервера.
<web-адрес> - собственно ссылка, с которой нужно начать закачивать сайт/ветку сайта.
xT 30.07.2009 15:32 #
+ 0 -
А как насчет того, что сервер не отдаст *-скрипты ?
как я понимаю, на самом домене, на котором хостятся файлы можно повырубать такую возможность через веб-сервер
А ничего нельзя скачать, кроме html. Про php и perl придется забыть.
А как скачать только http://welinux.ru/post/* и http://welinux.ru/from/<10-20-30> ?
не знаю, это более сложный вариант, возможно одной строкой не обойдешься, нужно писать скрипт.
Но если есть возможность обойтись встроенными средствами, все-таки лучше использовать их.
можно и с агентом...обычно я просто, по старой памяти, энто набираю...когда в консоли, а так использую khttrack ...
ну и есть ещё скрипт...siteget ....
#!/bin/bash
#
# siteget - use wget to retrieve a website
# siteget - использование wget для закачки сайтов
#
if < "$#" -ne "1" >
then
echo ""
echo "Формат команды: $(basename ${0}) <url>"
echo ""
echo "Загрузка сайтов из интернета с использованием программы wget."
echo "Несмотря на то, что данный скрипт вызывается простым способом,"
echo "он использует целый ряд опций программы wget."
echo "Вам необходимо указать только один параметр:"
echo "адрес загружаемого сайта (url) самого высокого уровня."
echo ""
echo "Например: siteget www.linux.org.ru"
echo ""
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}
так что пользуйтесь....
ну и есть ещё скрипт...siteget ....
#!/bin/bash
#
# siteget - use wget to retrieve a website
# siteget - использование wget для закачки сайтов
#
if < "$#" -ne "1" >
then
echo ""
echo "Формат команды: $(basename ${0}) <url>"
echo ""
echo "Загрузка сайтов из интернета с использованием программы wget."
echo "Несмотря на то, что данный скрипт вызывается простым способом,"
echo "он использует целый ряд опций программы wget."
echo "Вам необходимо указать только один параметр:"
echo "адрес загружаемого сайта (url) самого высокого уровня."
echo ""
echo "Например: siteget www.linux.org.ru"
echo ""
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}
так что пользуйтесь....
эммм. А ниче, что скрипт-то по сути из одной команды и состоит? и эта команда - wget?