Актуальная версия скрипта доступна тут.
Не всегда нужные изображения можно найти по тегу, или по тегу их слишком много, или требуется скачать серию картинок, объеденную какой-то узкой тематикой. На danbooru-подобных галереях такие группы изображений называются пулами (pool). Список изображений в пуле можно получить через API галереи в виде XML. Этим я и пользовался для выдирания ссылок на изображения.
Единственное, что огорчило меня, так это отсутствие параметра "limit", с помощью которого можно за раз выдернуть гораздо больше ссылок.
Сам скрипт получился таким:
Номер получается из URL вида http://danbooru.donmai.us/pool/show/903. В примере он равен 903. Количество страниц можно узнать внизу страницы пула. Я пока не придумал, как это число получить автоматически.
Чтобы скрипт заработал правильно, надо обязательно указать свои логин и пароль.
Не всегда нужные изображения можно найти по тегу, или по тегу их слишком много, или требуется скачать серию картинок, объеденную какой-то узкой тематикой. На danbooru-подобных галереях такие группы изображений называются пулами (pool). Список изображений в пуле можно получить через API галереи в виде XML. Этим я и пользовался для выдирания ссылок на изображения.
Сам скрипт получился таким:
Синтаксис: pooldan.sh номер_пула количество_страниц_в_пуле#! /bin/bash # настройки логина danlogin=LOGIN danpass=PASSWORD ATH=`curl -s -c danbooru.txt -F"commit=Login" -F"user[name]=${danlogin}" -F"user[password]=${danpass}" http://danbooru.donmai.us/user/authenticate` # параметры pnum=$1 pcount=$2 uag="Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.1.1) Gecko/20090715 Firefox/3.5.1 (.NET CLR 3.5.30729)" rm -f get2.danbooru.txt # мутим листинг for ((i=1; i<=$pcount; i++)) do wget "http://danbooru.donmai.us/pool/show.xml?id=$pnum&page=$i" --load-cookies="danbooru.txt" -U "$uag" -O - |pcregrep -o -e 'file_url=[^ ]+'|sed -e 's/file_url=//g' -e 's/\"//g' -e 's/\/>//g' >>get2.danbooru.txt done; # качаем листинг wget -nc -i get2.danbooru.txt # уборка rm -f *.txt
Номер получается из URL вида http://danbooru.donmai.us/pool/show/903. В примере он равен 903. Количество страниц можно узнать внизу страницы пула. Я пока не придумал, как это число получить автоматически.
Чтобы скрипт заработал правильно, надо обязательно указать свои логин и пароль.