Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #! /opt/bin/bash
- dldr='aria2c --remote-time'
- if [ ! -d $3 ]
- then
- echo Creating $3
- mkdir "$3"
- else
- dldr='/opt/bin/wget -nc'
- fi
- echo Entering $3
- cd $3
- # ярлык на страницу автора
- echo \[InternetShortcut\] > "$3.url"
- echo URL=http\:\/\/www.pixiv.net\/member_illust.php\?id=$1 >> "$3.url"
- # настройки
- # 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
- /opt/bin/wget --load-cookies=pixiv.txt "http://www.pixiv.net/member_illust.php?id=$athid&p=$i" -O - --referer="http://www.pixiv.net/"|pcregrep -o -e 'http\:\/\/i\d{1,3}\.pixiv\.net\/img-inf\/img\/[^\"]+' -e 'http\:\/\/i\d{1,3}\.pixiv\.net\/img\d{1,3}\/img\/[^\"]+'|sed 's/_s\./\./' | sed 's/\?.*//'>> get.pixiv.txt
- done;
- # === НАЧАЛО ПАТЧА ===
- # Отделяем новые хитрые ссылки
- basename -a `cat get.pixiv.txt| grep img-inf`|sed 's/\..*//' > get.pixiv.alt.txt
- cat get.pixiv.txt | grep -v img-inf > get.pixiv.txt.tmp
- mv get.pixiv.txt.tmp get.pixiv.txt
- # Парсим страницы
- # http://www.pixiv.net/member_illust.php?mode=big&illust_id=29149986
- for i in `cat get.pixiv.alt.txt`
- do
- /opt/bin/wget "http://www.pixiv.net/member_illust.php?mode=big&illust_id=$i" --load-cookies=pixiv.txt --referer="http://www.pixiv.net/member_illust.php?mode=medium&illust_id=$i" -O -|pcregrep -o -e 'http\:\/\/i\d{1,3}\.pixiv\.net\/img\d{1,3}\/img\/[^\"]+' >> get.pixiv.txt
- done;
- # === КОНЕЦ ПАТЧА ===
- # качаем все картинки, которые нашли
- $dldr -i get.pixiv.txt --referer="http://www.pixiv.net/"
- cat get.pixiv.txt |sed 's/http\:\/\/i[^\/]*\/img[0-9]*\/img\/[^\/]*\///g'|sort|uniq > list1
- ls *.jpg *.png *.gif|grep -v _ > list2
- cat list1 list2|sort|uniq -u|sed 's/\..*//g' > list3
- for i in `cat list3`
- do
- /opt/bin/wget "http://www.pixiv.net/member_illust.php?mode=manga&illust_id=$i&type=scroll" --load-cookies=pixiv.txt --referer="http://www.pixiv.net/" -O -|pcregrep -o -e "http\:\/\/i\d{1,3}\.pixiv\.net\/img\d{1,3}\/img\/[^\']+" -e "http\:\/\/i\d{1,3}\.pixiv\.net\/img-inf\/img\/[^\']+"| sed 's/_p/_big_p/g'>> get.pixiv.albums.txt
- done;
- $dldr -i get.pixiv.albums.txt --referer="http://www.pixiv.net/"
- rm get.pixiv.albums.txt
- # Докачиваем альбомы без _big
- ls *.jpg *.png *.gif|grep big|sed 's/_big[^\.]*//g'|uniq > list2
- cat list3 list2|sort|sed 's/\..*//g'|uniq -u > list4
- for i in `cat list4`
- do
- /opt/bin/wget "http://www.pixiv.net/member_illust.php?mode=manga&illust_id=$i&type=scroll" --load-cookies=pixiv.txt --referer="http://www.pixiv.net/" -O -|pcregrep -o -e "http\:\/\/i\d{1,3}\.pixiv\.net\/img\d{1,3}\/img\/[^\']+" -e "http\:\/\/i\d{1,3}\.pixiv\.net\/img-inf\/img\/[^\']+" >> get.pixiv.albums.txt
- done;
- $dldr -i get.pixiv.albums.txt --referer="http://www.pixiv.net/"
- # удаляем палево
- rm -f *.txt list*
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement