Online video hd

Смотреть красавицы видео

Официальный сайт aquaexpert 24/7/365

Смотреть видео бесплатно

leonder 11.02.2010 05:46

How-to`sКак скачать целиком любой сайт (скрипт siteget)

Мама у меня работает преподавателем в детском кружке, в последнее время увлеклась изготовлением кукол, и в свободное время ищет в Интернете информацию соответствующего характера. Больше всего ей нужны картинки уже готовых кукол, для примеров. Она стала часто попадать на сайты, где есть раздел "каталог", а там бывает достаточно много моделей. Основная проблема в том, что вручную сохранять изображения, например, щелкнув по ним и выбрав в меню пункт "сохранить как..." - крайне неудобно и долго.

Была поставлена и решена задача: быстро скачать все изображения с определенного сайта (или его раздела), которая тут же стала чуть более глобальной - скачать сайт целиком. С помощью google, по этой ссылке я нашел простое и элегантное решение:

Суть:
Создается скрипт (то есть сценарий, небольшая "программа"), который скачивает сайт целиком, используя стандартную, входящую в состав операционной системы программу wget. Сценарий делается исполняемым (изначально это простой текстовый файл), сохраняется в специальное место и в дальнейшем используется.

Расскажу, как это сделал я и рекомендую делать Вам, если у Вас ОС linux, конечно:
Открыл эмулятор терминала.
Выполнил следующую команду, чтобы создать в домашнем каталоге специальный каталог для собственных скриптов.
mkdir ~/bin
Выполнил следующую команду, чтобы создать новый файл в текстовом редакторе (вместо nano можно вписать другой):
nano ~/bin/siteget
Вставил туда следующий код, который собственно и будет выполнять всю работу:
 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#!/bin/bash
# siteget - Use wget to retrieve a website
#
if < "$#" -ne "1" >
then
echo "$(basename ${0}) <URL>"
echo ""
echo "Скачивает сайт или книгу в Интернете с помощью Wget."
echo "Сценарий из одной команды, но он использует много опций."
echo "Принимает одну опцию - URL верхнего уровня."
exit 1
fi

# Пояснения к опциям:
# --mirror бесконечная рекурсия, то есть wget следует по ссылкам...
# --convert-links изменение ссылок, адаптация для локального просмотра
# --no-verbose режим, частично "глушащий" отчётный вывод программы.
# --no-parent не ходить "вверх по дереву" непонятно,
# как это сочетается со следующей опцией, но кажется, работет хорошо.
# --page-requisites "привязывает" картинки для локального просмотра.
# --user-agent устанавливает строку "user agent", это помогает, когда
# некоторые сайты возвращают на запрос пустые страницы. Они не любят wget.
# ЕЩЕ полезные опции:
# -l для ограничения глубины скачивания
# -c -t 0 пригодятся при работе с плохим или ненадёжным соединением.

wget --mirror --convert-links --no-verbose --no-parent --page-requisites \
--user-agent="Mozilla/5.0 (compatible; Firefox/3.6; Linux)" ${1}


Большая часть которого, как видно - комментарии и описание.
Сохранив изменения (ctrl+O в nano) и выйдя из редактора (ctrl+X в nano), выполнил следующую команду в консоли, чтобы сделать скрипт исполняемым:
chmod a+x ~/bin/siteget
Теперь же, чтобы сохранить на свой диск сайт целиком, достаточно выполнить в консоли этот скрипт. Поскольку у родителей user-friendly KDE4, я научил маму делать это следующим образом (и, на всякий случай, инструкцию написал карандашом на листке):
Скопировать в буфер обмена из адресной строки браузера адрес сайта (его корневую, главную страницу)
Запустить Dolphin (файловый менеджер), войти в специально созданный ранее каталог "Домашняя папка/Загрузки"
Нажать клавишу F4, чтобы вызвать встроенную в Dolphin консоль
Набрать "siteget ", вставить из буфера обмена адрес сайта, нажать
Дождаться, пока скрипт закончит и сообщит о результатах. В текущем каталоге ("Домашняя папка/Загрузки") будет создан каталог, одноименный с адресом сайта. Чтобы просмотреть локальную копию - следует войти в него и открыть в браузере файл index.html


Тэги: Linux wget инструкция интернет сайт скачать скрипт
+ 5 -
Похожие Поделиться

Shtsh 11.02.2010 06:32 #
+ 0 -
Это, конечно хорошо и подходит для выбранной цели, но такую глобальную задачу как "скачать сайт целиком" не решает - сейчас почти все сайты динамические и html генерируется программами на стороне сервера. И голый php, ruby, perl, python никто вам не выдаст :)
Это я к тому, что название не очень
leonder 11.02.2010 08:47 #
+ 2 -
Если бы я написал, "скачать исходники сайта", то название было бы не очень. А простому пользователю, вроде моей мамы, для которой это делалось, глубоко безразлично, что там на стороне сервера - статичные страницы или динамические страницы, главное чтоб работало.
digiwhite 11.02.2010 06:32 #
+ 1 -
Для некоторых это актуально. Комментарий вот только чего на английском? Я то по английский читаю, а вот некоторые нет :).
leonder 11.02.2010 13:52 #
+ 0 -
Перевел, как мог.
red_dragon 11.02.2010 07:21 #
+ 2 -
Совершенно непонятно зачем вообще этот скрипт, если задача выполняется одной командой. Гораздо правильней в таком случае прописать для неё алиас в ~/.basch.rc, если руками "вломы" каждый раз набирать. И кстати, да. Shtsh прав. Сейчас большинство сайтов динамические...
greatperson 11.02.2010 08:52 #
+ 1 -
Не совсем понял, что мешает использовать WebHTTrack? Отлично скачивает сайты целиком.

А вот как настроить так, чтобы скачивался только определённый раздел сайта (например, отдельная статья с Хабра плюс все странички-примеры по ссылкам, но НЕ весь Хабр) - я так и не разобрался. :-(
f_evgeny 11.02.2010 11:12 #
+ 0 -
Так no-parents этого не делает?
Или может покомбинировать ключи
-r (рекурсивно)
и
-l (максимальный уровень рекурсии)
leonder 11.02.2010 08:54 #
+ 0 -
Иногда хочется скачать, например. только картинки с сайта, причем превышающие заданный размер. Как такое реализовать? Или наоборот, проигнорировать типы файлов при скачивании или еще какие-то критерии. В общем, фильтры наложить. Есть соображения?
f_evgeny 11.02.2010 11:06 #
+ 2 -
Это нужно читать man wget:

Recursive Accept/Reject Options
-A acclist --accept acclist
-R rejlist --reject rejlist
Specify comma-separated lists of file name suffixes or patterns to accept or reject. Note that if any of the wildcard characters, *, ?, < or >, appear in an element of acclist or rejlist, it
will be treated as a pattern, rather than a suffix.
f_evgeny 11.02.2010 11:10 #
+ 1 -
Пример:
wget -r --accept=jpg,jpeg www.xyz.org

Только нужно уровень рекурсии ограничить, например:
wget -l 5 -r --accept=jpg,jpeg www.xyz.org

ner_uto 11.02.2010 10:23 #
+ 0 -
Поправь третий пункт. Ты там / пропустил между ~ и bin
ner_uto 11.02.2010 10:32 #
+ 1 -
Ой, блин... И еще...:)
~ обозначает домашний каталог, а ты потом пишешь nаno /bin... Во-первых, без sudo почему-то, во-вторых - это ж совсем другой файл. Тогда уж nаno ~/bin/siteget. То же и chmod в конце. Кстати, создавать файл не обязательно. Ты можешь сразу написать nano название_файла.
Извиняюсь за отсутствие оформления, пишу с телефона.
leonder 11.02.2010 10:48 #
+ 0 -
sudo не нужно, всё ведь в пользовательском окружении, а с /usr/bin ошибся. Оригинал заметки был как бы многопользовательский, поэтому с sudo и в /usr/bin. Не всё заметил при редактировании, спасибо.
ner_uto 11.02.2010 10:55 #
+ 0 -
Ну я про старый вариант:) В ~ конечно не нужен.
divius 11.02.2010 10:38 #
+ 3 -
Я когда-то делал резервную копию ЖЖ:
wget -nc -r -k -p -X2007,2008,2009,data,tag,2010 -R"index.html*tag*,*reply*,*thread*" --no-parent http://***.livejournal.com
Sokoloff 11.02.2010 15:24 #
+ 0 -
Так держать.
Можно еще облегчить маме жизнь, сделать процесс более GUI-шным.

1 вариант. Создать действие в klipper. Вот нашел статью для 3-х кед, но идея думаю будет понятна.

2 вариант. Использовать kdialog, и опционально xclip.

Sokoloff 11.02.2010 16:03 #
+ 1 -
Еще, если мама смотрит страницы в konqueror-е, то можно добавить пункт в выпадающее меню.

Создай файл ~/.kde/share/kde4/services/ServiceMenus/downloadall.desktop

Exec=~/bin/siteget %u
Name=Download site
Name=Сохранить весь сайт
Icon=download


Actions=downloadAll;
ServiceTypes=all/allfiles
Type=Service
X-KDE-ServiceTypes=KonqPopupMenu/Plugin,


Теперь если в конке кликнуть правой кнопкой по ссылке, выпадет меню и в подменю "Действия" появиться пункт "Сохранить весь сайт".
К сожалению я не знаю какой ServiceTypes соответствует url-ам(кто знает поправьте), поэтому указал все.
leonder 11.02.2010 16:26 #
+ 0 -
Браузер там - Iceweasel (ну, считай Firefox), поэтому - это не к моей маме.

ScrapBook и иже - тоже стороной. Человек в возрасте и предпочитает инструкции (скрипты;-), написанные от руки, сама себе "шпаргалки" пишет по использованию программ. Я, перед тем как в другой город уехать, снабдил такими бумажками, как мог. Порядок действий для выполнения определенных задач в GIMP, OOWriter, Dolphin, KDE в целом... Интерфейс даже самой простой но новой(!) программы по-умолчанию отпугивает. Лучше уж инструкции.

В хорошем качестве hd видео

Онлайн видео бесплатно


Смотреть русское с разговорами видео

Online video HD

Видео скачать на телефон

Русские фильмы бесплатно

Full HD video online

Смотреть видео онлайн

Смотреть HD видео бесплатно

School смотреть онлайн