Актуальная версия скрипта доступна тут.
На www.pixiv.net куча художников выкладывает свои работы на обозрение пользователей, которые на этом сайте зарегистрированы. Остальные могут довольствоваться только маленькими превьюшками. Проблема только в том, что для просмотра одной картинки в полном размере нужно сделать минимум три щелчка, да еще иногда хочется загрузить все картинки, чтобы удобно посмотреть их с помощью любимой программы.
Для автоматизации всего этого дела я написал небольшой скрипт.
Для правильной работы скрипту нужны следующие данные:
Все данные получили, теперь надо настроить сам скрипт.
Если по ходу работы wget сразу загружает страницы, а не следует по редиректам, то всё настроено правильно.
На www.pixiv.net куча художников выкладывает свои работы на обозрение пользователей, которые на этом сайте зарегистрированы. Остальные могут довольствоваться только маленькими превьюшками. Проблема только в том, что для просмотра одной картинки в полном размере нужно сделать минимум три щелчка, да еще иногда хочется загрузить все картинки, чтобы удобно посмотреть их с помощью любимой программы.
Для автоматизации всего этого дела я написал небольшой скрипт.
Для правильной работы скрипту нужны следующие данные:
- Ваши логин и пароль;
- Уникальный ID художника, который можно получить из URL его профиля вида "http://www.pixiv.net/member.php?id=6359", где "6359" и есть искомый параметр;
- Количество изображений в галерее художника.
Все данные получили, теперь надо настроить сам скрипт.
Синтаксис скрипта: getpixiv.sh id_художника количество_изображений
#! /bin/bash # настройки # id художника (athid) берется из URL вида http://www.pixiv.net/member_illust.php?id=18530, где 18530 и есть искомый параметр. pixid='ВАШ ЛОГИН' pixpass='ВАШ ПАРОЛЬ' picnum=$2 let "pagenum=picnum/20+1" athid=$1 # логинимся (куки в pixiv.txt) AUTH=`curl -s -c pixiv.txt -F"mode=login" -F"pass=${pixpass}" -F"pixiv_id=${pixid}" -F"skip=1" http://www.pixiv.net/index.php` # качаем все страницы с картинками и парсим их на ходу for ((i=1;i<=$pagenum;i++)) do wget --load-cookies=pixiv.txt "http://www.pixiv.net/member_illust.php?id=$athid&p=$i" -O - --referer="http://www.pixiv.net/"|pcregrep -o 'http\:\/\/img\d{1,3}\.pixiv\.net\/img\/[^\"]+'|sed 's/_s//' >> get.pixiv.txt done; # качаем все картинки, которые нашли wget -nc -i get.pixiv.txt --referer="http://www.pixiv.net/" # удаляем палево rm -f get.pixiv.txt pixiv.txt
Если по ходу работы wget сразу загружает страницы, а не следует по редиректам, то всё настроено правильно.