Страница 115 / 118

Wget: [Назад] 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 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 [Вперед]

GaDiNa



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
[ UNIX Shell ] || [ Рекурсивная загрузка веб-сайтов ] — родительские ветки.
 
GNU Wget

GNU Wget — это свободная неинтерактивная утилита для скачивания файлов по HTTP, HTTPS, FTP и FTPS (и только), обладающая самым базовым функционалом загрузки одиночных файлов и рекурсивной загрузки сайтов (HTTP) и директорий (FTP).
 

| Офсайт | Википедия | Фрешмит | Опен-хаб (бывш. Охлох) | Мануал | Ман | Ман (русск., устар.) | --help (русск.) |

 
Где взять.
Под GNU — уже стоит. Под FreeBSD — есть в портах. Под [Mac] OS X — собрать ванильный.  
Под Windows есть варианты: 0) Cygwin,  1) GNUWin32 (учитывайте зависимости), 2) Wget + OpenSSL by GetGnuWin32, 3) by Bart Puype  4) by osspack32, 5) by Alex_Piggy, 6) by Jernej Simoncc (32 и 64 бит отдельные пакеты).
 
Литература.
Popkov. Параметры программы wget
В. А. Петров. Wget — насос для Интернета
 
FAQ
 
Q: Можно ли простым перебором загрузить страницы (допустим) с первой по сотую, если их адреса:  
http://example.org/index?page=1
http://example.org/index?page=2
...
http://example.org/index?page=100
A: Вэ-гет не умеет делать инкрементальный перебор, поскольку это умеет делать любая командная оболочка. На Баше это делается так:
$ wget -E "http://example.org/index?page="{1..100}
Еще раз отметьте, {1..100} — это синтаксическая конструкция Баша, а не Вэ-гета. Эквивалентной этой будет команда:
$ for i in {1..100}; do wget -E "http://example.org/index?page=$i"; done
Или для cmd.exe:
for /l %i in (1,1,100) do wget -E "http://example.org/index?page=%i"
 
Q: А как собственно сайт целиком-то загрузить?
A: $ wget -mpEk "http://example.org"
Это, наверное, самый ходовой набор ключей, но вам, может быть, более подойдут другие. Что значит каждый — легко узнать в мане.
 
Q: Я хочу загрузить с сайта, требующего авторизации. Что делать?
A: Проще всего кинуть куда-нибудь файл с нужными (но лишние не помешают) куками в нетскэйповском формате, затем воспользоваться ключом --load-cookies.
$ wget --load-cookies cookies.txt бла-бла # файл cookies.txt в текущей директории
У Файрфокса куки в требуемом виде можно получить, воспользовавшись расширением «Export Cookies»; у Хрома — «Cookie.txt export»
 
Q: Не-ASCII символы сохраняются в именах файлов как %D0%A5%D1%83%D0%B9 (или того хуже), хотя локаль юникодная.
A: Укажите ключ --restrict-file-names=nocontrol,unix или --restrict-file-names=nocontrol,windows соответственно.
Если у вас Windows и локаль не юникодная — используйте вариант от Alex_Piggy с ключом --local-filesystem-encoding=ENCODING, где ENCODING — имя кодировки локали в терминах iconv. Текущую локаль cmd.exe можно проверить при помощи команды chcp. Для русской кириллицы в Windows обычно используется CP866.
 
Q: Известно, что можно приказать Вэ-гету обновить ранее загруженный файл, если на сервере новее или иного размера (ключ --timestamping, он же -N). Можно приказать учитывать только дату, но не размер (--timestamping --ignore-length). А можно ли учитывать только размер, но не дату?
A: При помощи одного только Wgetа — нет.  Возможна обработка получаемых заголовков файла при помощи средств командной оболочки. Пример для cmd.exe.
 
Q: Можно ли приказать Вэ-гету докачать файл, но только если он не изменился.
A: Нет, нельзя. Сочетание ключей -cN (--continue --timestamping), как можно было бы предположить, нужного эффекта не даст — «докачает» даже если файл изменился — получите в итоге мусор.
 
Q: Можно ли при рекурсивной загрузке ограничится только ссылками, содержащими параметр lang=ru, т.е. грузить:
http://example.org/index?lang=ru
http://example.org/page?id=1001&lang=ru
http://example.org/file?id=60&lang=ru&format=dvi
и не грузить:
http://example.org/index?lang=en
http://example.org/about?lang=fr
и т.д.
A: Для версий < 1.14 нет такой возможности.  
Общий вид URI: <протокол>://<логин>:<пароль>@<хост>:<порт>/<путь>?<параметры>#<якорь>. Так вот ключи -I (--include-directories) и -X (--exclude-directories) относятся только к пути, но не к параметрам.
В версиях > 1.14 возможно при использовании ключей --accept-regex / --reject-regex. Пример: --reject-regex "lang=[^r][^u]"
 
Q: Можно ли средствами Вэ-гета ограничить перечень загружаемых файлов по дате модификации (новее чем, старше чем)?
A: Нет такой возможности.
 
Q: Можно ли при рекурсивной или множественной загрузке произвольно задать целевые пути и/или имена файлов на основе пути/имени по-умолчанию (применить транслитерацию, отбросить хвостовую часть) или хотя бы независимо (сгенерировать случайно или по счетчику)?
A: Нет.
 
Q: То — нельзя, это — невозможно. Почему все так плохо?
A: Потому что Вэ-гет на настоящий момент — базовая программа, предоставляющая только самый базовый функционал. Если вы уперлись в потолок ее возможностей, просто смените ее на другой инструмент. Из неинтерактивных свободных программ наиболее функциональными будут:
aria2c — для загрузки одиночных файлов по HTTP(S), FTP, бит-торренту;
httrack — для рекурсивной загрузки («зеркалирования») веб-сайтов;
lftp — для работы по FTP, FTPS, SFTP, FISH, а также с листингами, отдаваемыми по HTTP(S) (пример).
curl — для работы с одиночными файлам по HTTP(S), FTP(S) и многими другими протоколами на более низком уровне.
 
Разное.
GUI для Wgetа
 

Смело правьте и дополняйте шапку, однако не забывайте отписываться об исправлениях и сохранять исходный вариант под #.

Всего записей: 1503 | Зарегистр. 17-06-2003 | Отправлено: 12:39 08-11-2003 | Исправлено: VictorVG2, 22:57 06-01-2016
VictorVG2

Редактировать | Цитировать | Сообщить модератору
zivstack
 
Браузером сохранить страницу. Карта там собирается из десятков фрагментов которые тащат скрипты. Так что браузером проще.

Отправлено: 21:56 11-03-2016
ASE_DAG



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
zivstack>> скачать транспортную карту с этого сайта: http://transportmap.ru/moscowtransport.html
VictorVG2>> а изображение генерится в браузере на стороне клиента
 
Да нет, ну что вы — какое генерируется — там статические плиточки, причем еще и в джипеге.
 
zivstack> а есть ли еще какой либо способ решить вопрос по его закачке?
 
Ну самое простое: а) выясняете при помощи вашего обозревателя адрес хотя бы одной плитки, здесь получается, например: http://transportmap.ru/Moscow/18_12_4.jpg; б) внимательно глядите на нее и понимаете, что формат URI совершенно прозрачен: 18 — масштаб (и это наибольший), 12 — абсцисса, 4 — ордината.  Что скачать, что склеить не составляет никаких проблем.  Вот таким скриптом, какой я привел ниже, например.  Он первым позиционным параметром принимает полный URI любого из кусочков.
 

Код:
#!/bin/bash
 
# usage example: transportmapget http://transportmap.ru/Moscow/18_0_0.jpg
 
baseuri=${1%/*}
tilename="${1##*/}"
zoom=${tilename%%_*}
suffix=${tilename##*.}
id=${baseuri##*/}
 
x=0
while :; do
    y=0
    while wget --max-redirect 0 "$baseuri/${zoom}_${x}_${y}.${suffix}"; do
        ((y++))
    done
    ((y == 0)) \
        && break
    ((x++))
done
 
readarray -t tiles_sorted < \
          <(sort --version-sort --field-separator '_' --key 3,3 --key 2,2 < \
                <(printf '%s\n' *.jpg))
 
montage -tile "$x" -geometry +0+0 "${tiles_sorted[@]}" "${id}.jpg" || exit 1
 
rm "${tiles_sorted[@]}"

 
На выходе получится что-то такое.

----------
Спроси, где спросить!

Всего записей: 8468 | Зарегистр. 11-05-2005 | Отправлено: 10:44 12-03-2016 | Исправлено: ASE_DAG, 10:59 12-03-2016
dima1111975



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вопрос такой: есть галерея фотографий: http://www.girlstop.info/psto.php?id=106579
Каждая фотография качается из директории http://www.girlstop.info/cat/posts/28i6/, но если качать оттуда напрямую, то получаю error 403  
Например даю такую команду (качаю сборкой Bart Puype (которая в шапке) из-под винды):  
wget1114bp.exe --user-agent="Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)" -r -A jpg,jpeg -nd http://www.girlstop.info/cat/posts/28i6
получаю такой отлуп:
--2016-03-15 10:09:46--  http://www.girlstop.info/cat/posts/28i6
Resolving www.girlstop.info... 193.169.244.80
Connecting to www.girlstop.info|193.169.244.80|:80... connected.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: http://www.girlstop.info/cat/posts/28i6/ [following]
--2016-03-15 10:09:46--  http://www.girlstop.info/cat/posts/28i6/
Reusing existing connection to www.girlstop.info:80.
HTTP request sent, awaiting response... 403 Forbidden
2016-03-15 10:09:46 ERROR 403: Forbidden.
 
В чем проблема? Можно это как-то победить?

Всего записей: 39 | Зарегистр. 05-02-2010 | Отправлено: 11:13 15-03-2016
Pasha_ZZZ



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
dima1111975
Цитата:
Можно это как-то победить?
Неможно. Листинг директорий на сервере запрещен.

Всего записей: 3758 | Зарегистр. 11-03-2002 | Отправлено: 11:33 15-03-2016
ellzar

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
разобрался

Всего записей: 3 | Зарегистр. 21-05-2006 | Отправлено: 15:49 25-03-2016 | Исправлено: ellzar, 15:56 25-03-2016
kollajjik

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
друзья, возникла казалось бы простая, а для меня невыполнимая задача, поэтому прошу помощи.
 
внутри этой страницы  
 
http://breakingbadaddicts.tumblr.com/page/2
 
находятся ссылки такого типа:
 
http://breakingbadaddicts.tumblr.com/post/142453713675/buy-breaking-bad-merchandise
http://breakingbadaddicts.tumblr.com/post/142454374940/buy-breaking-bad-merchandise
http://breakingbadaddicts.tumblr.com/post/142455072805/buy-breaking-bad-merchandise
http://breakingbadaddicts.tumblr.com/post/142455855878/buy-breaking-bad-merchandise
http://breakingbadaddicts.tumblr.com/post/142456676553/buy-breaking-bad-merchandise
http://breakingbadaddicts.tumblr.com/post/142457551479/buy-breaking-bad-merchandise
http://breakingbadaddicts.tumblr.com/post/142458477699/buy-breaking-bad-merchandise
http://breakingbadaddicts.tumblr.com/post/142459427340/buy-breaking-bad-merchandise
http://breakingbadaddicts.tumblr.com/post/142460449454/buy-breaking-bad-merchandise
http://breakingbadaddicts.tumblr.com/post/142461515346/buy-breaking-bad-merchandise
 
как их брать wget-ом ?? получить список этих ссылок или, [если невозможно просто получить список], то хотя бы скачать (как html).
 
Был бы очень благодарен за помощь.
 
Заранее Спасибо !!

Всего записей: 52 | Зарегистр. 13-06-2011 | Отправлено: 23:04 08-04-2016 | Исправлено: kollajjik, 00:48 09-04-2016
mithridat1



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
kollajjik
Одним только wget-ом список ссылок не выдернуть.Если надо просто загрузить все ссылки со страницы  
 
wget -O - http://breakingbadaddicts.tumblr.com/page/2 | wget --force-html -x -i -
 
Такой контент как у вас сложно отфильтровать,поэтому придется грузить все.

Всего записей: 3469 | Зарегистр. 05-01-2006 | Отправлено: 19:21 11-04-2016
kollajjik

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
mithridat1, Спасибо за подсказку, понял по крайней мере с какими параметрами придется иметь дело/покопаться.
 
а то что начало всех нужных ссылок начинается с  http://breakingbadaddicts.tumblr.com/post/ можно каким-нибудь образом использовать как фильтр ??

Всего записей: 52 | Зарегистр. 13-06-2011 | Отправлено: 20:50 11-04-2016
mithridat1



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
kollajjik

Цитата:
а то что начало всех нужных ссылок начинается с  http://breakingbadaddicts.tumblr.com/post/ можно каким-нибудь образом использовать как фильтр ??

Можно,но он почему то в приведенной мною команде не работает.
 
Получение списка ссылок вообще не задача wget ! Вот нафига по любой задаче связанной с веб переться в этот топик ?!
 
Из командной строки получить список ссылок со страницы можно через links/lynx либо xidel,потом уже этот список можно отфильтровать,например,grep-ом  
 
lynx -listonly -dump http://breakingbadaddicts.tumblr.com/page/2
 
xidel -e 'links:=//a/@href' http://breakingbadaddicts.tumblr.com/page/2

Всего записей: 3469 | Зарегистр. 05-01-2006 | Отправлено: 11:49 12-04-2016 | Исправлено: mithridat1, 13:21 12-04-2016
kollajjik

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
mithridat1
да, видно wget действительно не тянет на умные действия, только скачка. эххххххххххх ...... Спасибо в любом случае. Скачал обе (Lins и Lynx), покопаюсь, посмотрю что будет.

Всего записей: 52 | Зарегистр. 13-06-2011 | Отправлено: 03:03 13-04-2016
kollajjik

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Внимание, Осторожно, 18+ !!
 
Друзья, эти ссылки открываются и скачиваются браузером и не скачиваются wget-ом:
 
http://www.homemadebdsm.com/file.php?mode=sp&fileid=265801
http://www.homemadebdsm.com/file.php?mode=sp&fileid=265831
 
Как их скачивать wget-ом ??
 
Был бы очень благодарен за помощь.

Всего записей: 52 | Зарегистр. 13-06-2011 | Отправлено: 07:56 18-04-2016
VictorVG4



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
kollajjik
 
Чего вы сюда с порнухой припёрлись? Хотите дать работу бедным-несчастным "блюстителям нравственности" ибо они с голоду травку жуют? Wget это прежде всего программа для скачивания файлов, а вы тут решили решить все вопросы по наполнению собственной порноколлекции. Смотрите дама сердца оторвёт вам всё, что выступает за пределы корпуса и собранный мусор вам более не потребуется.

----------
Жив курилка! (Р. Ролан, "Кола Брюньон")

Всего записей: 474 | Зарегистр. 26-03-2016 | Отправлено: 09:16 18-04-2016
kollajjik

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
VictorVG4
буду надеяться всего 2 ссылки XXX вряд ли загубят чью-то непорочную душу, тем более вопрос тут чисто технический - есть прямые ссылки которые не берутся wget-ом, хотя по идее все прямые ссылки должны браться wget-ом.

Всего записей: 52 | Зарегистр. 13-06-2011 | Отправлено: 11:13 18-04-2016
VictorVG4



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
kollajjik
 
Ну, в таком контексте можно предположить, что там проверяется рефрер или юзер агент. Попробуйте добавить их в команду. Я встречал такие сайты где без обратного реферера и юзер агента хорошо коли HTML страницу пришлют. Например это сайты многих чипмэйкеров - с VIA без указания в HTTP-запросе пары реферер + юзер агент присылают 403-ю, Realtek такие запросы просто игнорирует.

----------
Жив курилка! (Р. Ролан, "Кола Брюньон")

Всего записей: 474 | Зарегистр. 26-03-2016 | Отправлено: 11:26 18-04-2016
kollajjik

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Попробуйте добавить их в команду

VictorVG4
Не подскажешь как добавить их в команду  ?? прописал такие, не помогает:
 
--user-agent=Mozilla
--user-agent="Mozilla"
 
может что-то не так делаю ??
 
 
 

Всего записей: 52 | Зарегистр. 13-06-2011 | Отправлено: 18:42 18-04-2016 | Исправлено: kollajjik, 18:43 18-04-2016
BakLAN



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
kollajjik

Цитата:
http://www.homemadebdsm.com/file.php?mode=sp&fileid=265801
http://www.homemadebdsm.com/file.php?mode=sp&fileid=265831

А паролик?

Всего записей: 2788 | Зарегистр. 15-12-2003 | Отправлено: 19:57 18-04-2016
VictorVG4



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
kollajjik
 
Так он же не так выглядит, ловится на раз. Например - User agent: Mozilla/5.0 (FreeBSD 10.2; x64; rv:43.0) Gecko/20100101 Firefox/43.0 SeaMonkey/2.40 курсивом вся строка User-Agent. Если будет не полная сайт сразу распознает фальшивку.

----------
Жив курилка! (Р. Ролан, "Кола Брюньон")

Всего записей: 474 | Зарегистр. 26-03-2016 | Отправлено: 19:59 18-04-2016
ASE_DAG



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
kollajjik> и не скачиваются wget-ом
 
Не вижу.

----------
Спроси, где спросить!

Всего записей: 8468 | Зарегистр. 11-05-2005 | Отправлено: 20:26 18-04-2016
kollajjik

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Написал и перепробовал все варианты, снова не помогает ....... эххххххххх. вот варианты:
 
1.
--user agent=Mozilla/5.0 (FreeBSD 10.2; x64; rv:43.0) Gecko/20100101 Firefox/43.0 SeaMonkey/2.40
http://www.homemadebdsm.com/file.php?mode=sp&fileid=265801
http://www.homemadebdsm.com/file.php?mode=sp&fileid=265831
 
2.
-U Mozilla/5.0 (FreeBSD 10.2; x64; rv:43.0) Gecko/20100101 Firefox/43.0 SeaMonkey/2.40
http://мойлогин:мойпароль@www.homemadebdsm.com/file.php?mode=sp&fileid=265801
http://мойлогин:пароль@www.homemadebdsm.com/file.php?mode=sp&fileid=265831
 
3.
-U Mozilla/5.0 (FreeBSD 10.2; x64; rv:43.0) Gecko/20100101 Firefox/43.0 SeaMonkey/2.40
http://мойлогин:мойпароль@homemadebdsm.com/file.php?mode=sp&fileid=265801
http://мойлогин:мойпароль@homemadebdsm.com/file.php?mode=sp&fileid=265831
 
ни один не помогает, все равно качает html, вместо mp4 и jpg, а браузером качает mp4 и jpg.

Всего записей: 52 | Зарегистр. 13-06-2011 | Отправлено: 21:14 18-04-2016 | Исправлено: kollajjik, 00:37 19-04-2016
VictorVG4



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
kollajjik
 
реферер поставьте. обычно им является URL страницы закачки. А юзер агент поставьте свой. Я там светится не жажду, а то прилетит не по адресу.

----------
Жив курилка! (Р. Ролан, "Кола Брюньон")

Всего записей: 474 | Зарегистр. 26-03-2016 | Отправлено: 03:07 19-04-2016
Открыть новую тему     Написать ответ в эту тему

Страницы: 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 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118

Компьютерный форум Ru.Board » Компьютеры » Программы » Wget

Сохранено: 09.06.2016 19:48:58 (c) xForumSaver