Radjah

getpixiv.sh

Aug 21st, 2012
282
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 2.25 KB | None | 0 0
  1. #! /opt/bin/bash
  2.  
  3. if [ ! -d $3 ]
  4. then
  5. echo Creating $3
  6. mkdir "$3"
  7. fi
  8. echo Entering $3
  9. cd $3
  10.  
  11. # настройки
  12. # id художника (athid) берется из URL вида http://www.pixiv.net/member_illust.php?id=18530, где 18530 и есть искомый параметр.
  13. pixid=ЛОГИН
  14. pixpass=ПАРОЛЬ
  15. picnum=$2
  16. let "pagenum=picnum/20+1"
  17. athid=$1
  18.  
  19. # логинимся (куки в pixiv.txt)
  20. 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`
  21.  
  22. # качаем все страницы с картинками и парсим их на ходу
  23. for ((i=1;i<=$pagenum;i++))
  24. do
  25. /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 'http\:\/\/i\d{1,3}\.pixiv\.net\/img\d{1,3}\/img\/[^\"]+'|sed 's/_s\./\./' | sed 's/\?.*//'>> get.pixiv.txt
  26. done;
  27.  
  28. # качаем все картинки, которые нашли
  29.  
  30. /opt/bin/wget -nc -i get.pixiv.txt --referer="http://www.pixiv.net/"
  31.  
  32. cat get.pixiv.txt |sed 's/http\:\/\/i[^\/]*\/img[0-9]*\/img\/[^\/]*\///g'|sort|uniq > list1
  33. ls *.jpg *.png *.gif|grep -v _ > list2
  34. cat list1 list2|sort|uniq -u|sed 's/\..*//g' > list3
  35. for i in `cat list3`
  36. do
  37. /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 'http\:\/\/i\d{1,3}\.pixiv\.net\/img\d{1,3}\/img\/[^\.]+\.[A-z]+' | sed 's/_p/_big_p/g'>> get.pixiv.albums.txt
  38. done;
  39.  
  40. /opt/bin/wget -nc -i  get.pixiv.albums.txt --referer="http://www.pixiv.net/"
  41.  
  42. rm get.pixiv.albums.txt
  43.  
  44. # Докачиваем альбомы без _big
  45. ls *.jpg *.png *.gif|grep big|sed 's/_big[^\.]*//g'|uniq > list2
  46. cat list3 list2|sort|sed 's/\..*//g'|uniq -u > list4
  47. for i in `cat list4`
  48. do
  49. /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 'http\:\/\/i\d{1,3}\.pixiv\.net\/img\d{1,3}\/img\/[^\.]+\.[A-z]+' >> get.pixiv.albums.txt
  50. done;
  51.  
  52. /opt/bin/wget -nc -i  get.pixiv.albums.txt --referer="http://www.pixiv.net/"
  53.  
  54. # удаляем палево
  55.  
  56. rm -f *.txt list*
Advertisement
Add Comment
Please, Sign In to add comment