DerpLoader 1.1

+54
в блоге IT Pony!
В своё время нужно мне было выкачать файлов с Derpibooru, кинулся я искать программы, но вот незадача — ни одно из них не работала. Зело расстроился я тогда и пришлось сохранять ручками. А тут вот подумалось мне, «яжпрограммист» теперь — и решил я написать свою программку под это дело, раз уж всё равно нужно что-то для роста опыта писать. Собственно сиё детище на ваш суд и представляю, может оно кому и надо.

Тыжпрограммистов на Java поопытнее менее, прошу провести посильный кодревью. Можно тупо текстом в личку.


Программа представляет из себя банальный выкачиватель картинок с Derpibooru согласно заданным тегам или без оных (так называемые популярные trending за 3 дня). Получение списка файлов идет через прокси, поскольку ресурс заблокирован на территории РФ. А вот скачивание идёт по «голому» соединению с вашим провайдером, поскольку хостинг их картинок не заблокирован. В наличии настройка прокси и своего ключа авторизации, если необходимо. Но можно использовать и специально заведенных с фильтрацией «показывай_ваще_всё».
В целом, интерфейс интуитивен и поясняется, особо писать по нему нечего. Если есть вопросы, замечания, предложения — комменты или личка открыты. Ежели оно кому будет полезно (прога), предложения по функционалу будут учитываться, новые версии будут выходить. А нет, так нет =)

Разве что про вкладку тегов рассказать. Там можно выбрать файл с любимыми тегами, который можно создать самому. Обычный текстовый документ, в котором каждый тег необходимо написать с новой строки. Если в теге несколько слов (например «Princess Celestia»), то необходимо заменить пробел на "+" (например «Princess+Celestia»). Добавление\удаление тегов из списка осуществляется по двойному клику мыши (окромя ручного ввода, но там есть кнопка)

Еще имеет смысл пояснить по «Размер изображения» на третьей вкладке. Фильтрация будет происходить на этапе скачивания, то есть из 50 файлов (на одной странице столько выдает) может скачать всего 5 или 0. Зависит от ваших личных данных. Еще там учитывается ratio — соотношение ширины к высоте (или наоборот, не помню). Суть в том, что будет фильтровать картинки не только «не менее чем введенный размер» но и «не менее чем ratio» Сделано это для того, чтобы функция работала корректно. Потому как захотели вы себе картиночек на рабочий стол, ввели 1024*1280 а оно вам выдало картинку 3500*1300. И чего с такой делать, когда она по форме как вытянутая вверх херабопола? Вот то то и оно, что нужно постараться соблюсти еще и пропорции картинки, чтобы иметь возможность поставить на монитор.

Жду отзывов и предложений.

Скачатьgithub.com/Dernogard/DerpLoader/tree/master/download

Где взять тегиХаааароший вопрос, мой юный любитель цветных лошадок. В поисках его, у тебя есть минимум четыре пути:
— проследовать на сам ресурс derpibooru, trixiebooru (зеркало), воспользовавшись тором или прокси или чем-то схожим. И там порыться в разделе тегов, выбрав себе теги по нраву
— попробовать придумать теги самому. Право слово, особо мудрствовать не надо — хошь картинки где фигурирует Селестия и яблоко? Вот и пиши теги «apple», «princess+celestia» Ну и всё в таком духе — большинство слов «тегизировано» и можно писать наугад.
— повыкачивать картинок «популярное» или с какими-либо тегами, а потом написать в свой файл теги из названия картинок\файлов на диске. Они прямо в название прописаны, разделены символом "_"
— ну либо использовать автоматически выдернутые теги из приложенных к программе файлов. Они сгенерированы способом, схожим с предыдущим пунктом, но не проверялись, так что некоторые могут быть косячны (видал там где-то ":+", что не есть гуд, после ":" не должно быть "+", так что учитывайте при добавлении

41 комментарий

Да есть жеж, хоть кто-то за это взялся, а то derpibooru-dl чёт безвременно почил…

А программа понимает полные поисковые запросы к буре вроде «ts,fs,solo,-(anthro || humanization || eg)» или можно только наплюсовать тегов и их скачать, без вычетов, без «и», «или»?
Ori
0
Нет, скорей всего не понимает. Функции такой нет, если только хитрить и добавлять эти символы к тегам. Сейчас там функционирует только «включить» и «исключить». Если расскажешь, как в тегах фигурирует это «или» и прочее — добавлю
nogard
0
Я в вебе не бум-бум, так что не знаю как там у них запрос строится и передается. Могу только показать хелп по поиску. И еще вот тут есть что-то про search.json, в который можно дать этот самый запрос или типа того… Я пытался в этом разобраться, но ниче не понял, юзал ту библиотеку для питона, она умеет поисковые запросы слать.
Ori
0
Множественное тегирование поддерживается, так что если я верно понимаю этот запрос, то там достаточно добавить в список показа «ts,fs,solo» по отдельности, а в список игнора «anthro, humanization, eg» тоже по отдельности
nogard
0
Без джавы будет работать? Ибо это г… я себе не поставлю не за какие коврижки.
MLPMihail Изменён автором
0
Там (в спойлерах)есть версия для винды не требующая java (jvm внедрена в исходники)
nogard Изменён автором
0
Чёт не качает. А прокси обязательно надо вписывать? У меня бура не заблокирована просто.
Ori
0
Да, прокси обязательно. Постараюсь сегодня добавить версию с выбором использовать или нет прокси. А еще нужно поправить множественное тегирование игнора. Маленько не работает, если тегов более одного =)
Про «или» разобрался, но пока не знаю, как добавить, чтобы было понятно в текущем интерфейсе. Если добавить все теги (из примеры выше) в игнор, то поиск выдаст 0, в отличии от варианта «или»
nogard
0
О, а еще когда я перезапустил программу, то мой ключ авторизации стерся и поставился видимо твой ) И папка для сохранения тоже сменилась на твою.
Ori
0
Кнопку сохранения жал? На первой вкладке огромная внизу ) Она сохраняет настройки первой вкладки
Путь к папке сохранения запоминается через кнопку «Запомнить» справа от выбора (на третьей вкладке) =)
nogard
0
Жал, конечно ) И на вкладке с путём тоже жал.
Ori
0
Во, во второй раз сохранило.
Ori
0
То есть полноценный синтаксис, как на Буре, тут не работает? Типа если вбить «explicit AND (Flyrrershy OR ts OR Pinkie pie) NOT anthro», то скачает совсем не то?
Sasha-Flyer Изменён автором
0
Программа основана на API буры. Вбивать вышеуказанное некуда. В целом, если пользователь знает полноценный синтаксис и способен сам прописывать такой запрос, то можно и добавить — это не сложно. Постараюсь сегодня это добавить
nogard
0
А такой функционал сейчас где-то реализован? То есть, где именно можно это вбить и получить результат. Попробовал вбить в поисковую строку буры — результат не дает

explicit AND (Fluttershy OR Pinkie Pie) NOT anthro
nogard Изменён автором
0
Всё даёт, просто опечатку надо было поправить
andreymal
0
Всегда забываю про AND перед NOT и скобки. Я никогда этого не понимал. Всё равно что писать 2 + — 2, когда можно написать 2 — 2
Sasha-Flyer
0
И какого хуя он минусы заменяет на тире?
Sasha-Flyer
0
OR NOT тоже вполне может быть
andreymal
0
Кстати, такой ещё вопросик, вот есть тег соло, то есть если сделать Флаттершай + соло, то будет только она и никто другой, а как сделать тоже самое для пары пони, и чтобы не обязательно шиппинг, то есть типа Флаттершай + РД, и никто более? Тега «Double», увы, нет
Sasha-Flyer Изменён автором
0
Не в курсе, самому интересно, но есть подозрение что это невозможно

Алсо, даже не каждая соло-картинка имеет тег solo, отчего совсем грустно
andreymal
0
Есть тег duo, но сам понимаешь, его ставят не всегда. Поэтому я просто исключал других персонажей вручную, можно выключить самых популярных довольно быстро:
rd,fs,-(aj || ts || ry || pp || tia || luna || pcd || qc || sg || sus || sl || sb || ab || discord)
Ori
0
Воу, спасибки.
Sasha-Flyer
0
А можно пример с OR NOT? Не вижу, как он работает — выдает кашу вместо нужного
nogard
0
Не получается придумать, когда это может понадобиться в реальной практике)
andreymal
0
OR NOT?
Ну, оно и должно выдавать кашу, кмк.
«Дайте мне розовую шляпу или что-нибудь кроме бегемота».
f13proxima
0
Отрицание в отличии от логического «И» ничего ни с чем не связывает.
Это все равно что писать «2, (-2)» вместо «2 — 2».
f13proxima
0
Не мог встроить антизапретовскую по дефолту?
f13proxima
+1
Не понял вопроса
nogard
+1
antizapret.prostovpn.org/
У них есть публичная прокся для обхода РКНовских блокировок.
f13proxima
+1
У меня такой вопросик, раз ты шаришь в API Буры — а можно ли сделать мгновенные уведомления в браузер или на почту, что по определенным тегам появился новый арт?
Sasha-Flyer
0
Настолько сильно я не шарю. Я смотрел его только на том уровне, что понадобился для реализации функционала программы. Со своей стороны, могу попробовать реализовать повторяющуюся функцию выкачивания (проверок) картинок по времени с учетом запроса(тегов), с, скажем, звуковым сигналом при получении нового файла(-ов)
nogard
0
Попроси андрюшу чтоб он тебе кусок своего сервера выделил.
Либо арендуй свой.
Постоянно держать в памяти жабу которая парсит дерпибуру — это такое. Как земля.
f13proxima
0
кусок своего сервера выделил
держать в памяти жабу

Я лучше на расте парсилку буры напишу
andreymal
+1
Пущай пока на жабе пишет, потом прозреет. Возможно.
f13proxima
0
Господи, сколько же в жабе всякой шелухи.
Гиблое это дело, чувак.

Алсо:
Error: Could not find or load main class cloploader.jar
f13proxima
0
У Java своя область, где она используется. Десктоп туда не входит, знаю. Эта программа побочный продукт обучения.
nogard
0
Обновил, добавил запрошенный функционал, поправил пару мелочей.
nogard
0
Через Ультрасёрф видит но не скачивает арты на 10-ке
скрин
Devyatyi_9yi
0
А место есть?)
Sasha-Flyer
0
Наверное, проблема в этом сёрфе. Может быть, блокирует скачивание файлов?
nogard
0
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.
Скрыто Показать