GreatAndPowerful, я намеренно не стал делать многопоточную версию. При указанных вами объемах это излишне нагрузит сервер дерпибуры. Имейте совесть, парни держат его на добровольные пожертвования.
Код:

@Echo Off
:: Inquisitor, 2013
:: Ad majorem Applejack gloriam
SetLocal EnableDelayedExpansion
:: Настройки
Set API_Key=
Set Query=artist:aeronjvl,scenery,rainbow dash
Set Timeout=10
Set MaxImages=500
Set ImagesDir=images
rem Подготавливаемся к работе
For /F "tokens=2 delims=[]" %%A In ('Ver') Do (For /F "tokens=2,3 delims=. " %%B In ("%%A") Do (Set Ver=%%B.%%C))
Set UA=Mozilla/5.0 (Windows NT %Ver%; wget 1.11) DerpibooruGrabber/1.0
If Not Exist "%ImagesDir%" MD "%ImagesDir%"
If Exist "%Temp%\derpibooru.json" Del "%Temp%\derpibooru.json"
Set Query=%Query: =+%
rem Делаем запрос к поиску
wget "http://derpiboo.ru/search.json?nocomments=1&nofav=1&q=%Query%&perpage=%MaxImages%&key=%API_Key%" -U "
%" -q -nc -O "%Temp%\derpibooru.json" 1>nul 2>nul||(Echo ERROR: Check your connection&Exit /B 1)
For /F "tokens=2 delims=:," %%A In ('grep -Eo ".id_number.:[0-9]*," "%Temp%\derpibooru.json"') Do (
Call :GetImage %%A
ping -n %Timeout% 127.0.0.1>nul
)
Echo All done
Pause&Exit
:GetImage
rem Запрашиваем данные о изображении через JSON API
Set file_name=&Set file_ext=&Set image=
For /F "delims=" %%A In ('wget "http://derpiboo.ru/%~1.json?nocomments=1&nofav=1" -U "
%" -q -O- 2^>^&1') Do (
rem Разбираем полученный JSON
For %%B In (%%A) Do (
For /F "tokens=1,* delims=:" %%C In ("%%B") Do (
For %%E In (file_name image) Do (
If "%%~C"=="%%E" Set %%E=%%~D
)
)
)
)
rem Обрабатываем результат
If Not Defined image Echo ERROR: Couldnt retrieve image info #%~1&Exit /B 1
For /F "delims=" %%A In ("!image!") Do (Set file_ext=%%~xA)
rem Получаем изображение
If Not Exist "%ImagesDir%\!file_name!!file_ext!" wget "!image!" -U "
%" -q -nc -O "%ImagesDir%\!file_name!!file_ext!" 1>nul 2>nul&&(Echo #%~1 retrieved)||(Echo ERROR: Couldnt retrieve image #%~1&Exit /B 1)
Exit /B 0
Для работы скрипта нужны
wget и
grep (хотел обойтись без последнего, но зачастую вес ответа достигает полумегабайта, и разбирать это таким же образом, как делается с картинкой, не представляется возможным). Обратите внимание на настройки:
API_Key - ключ для API, его можно посмотреть на странице своего аккаунта. Без него качать будет, но будет применяться фильтрация по умолчанию (т.е. отсекая NSFW)
Query - то же самое, что вы собираетесь писать в поиск. Тэги разделяются запятой, пробела перед и после неё быть не должно.
Timeout - настоятельно рекомендую не менять это. Не создавайте излишнюю нагрузку на сервер. Это интервал между запросами изображений.
MaxImages - количество изображений, скачиваемых за раз. Хоть несколько тысяч, выставьте столько, сколько планируете качать.
ImagesDir - куда сохранять.