Radjah

get.sankaku.sh

Mar 11th, 2013
369
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 3.67 KB | None | 0 0
  1. #! /bin/bash
  2.  
  3. if [ ! -d $2 ]
  4. then
  5. echo Creating $2
  6. mkdir "$2"
  7. fi
  8. echo Entering $2
  9. cd $2
  10.  
  11. # настройки
  12. sanlogin=ЛОГИН
  13. sanpass=ПАРОЛЬ
  14.  
  15. ATH=`curl -s -c sankaku.txt -F"commit=Login" -F"user[name]=${sanlogin}" -F"user[password]=${sanpass}" http://chan.sankakucomplex.com/user/authenticate`
  16.  
  17. tagsl=$1
  18. postcount=`curl -b sankaku.txt -# "http://chan.sankakucomplex.com/post/index.xml?tags=$tagsl&limit=1"|pcregrep -o 'posts\ count=\"[^"]+'|sed -e 's/posts\ count=//' -e 's/\"//'`
  19. let "pcount=postcount/50+1"
  20.  
  21. echo $postcount
  22.  
  23. if [ $3 ]
  24. then
  25. #echo $3
  26. pcount=$3
  27. fi
  28.  
  29. rm -f get2.sankaku.txt
  30. # получаем ссылки на изображения и снабжаем файл разделителями на страницы
  31. for ((i=1; i<=$pcount; i++))
  32. do
  33. echo ==== page $i === >>get2.sankaku.txt
  34. wget --load-cookies="sankaku.txt" "http://chan.sankakucomplex.com/post?page=$i&tags=$tagsl&limit=50" -U "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.1.1) Gecko/20090715 Firefox/3.5.1 (.NET CLR 3.5.30729)" -O - |pcregrep -o -e 'src[^ ]+preview[^ ]+'|sed -e 's/src\=\"//g' -e 's/\"//g' -e 's/\%20/ /g' -e 's/preview\///g'  >>get2.sankaku.txt
  35. done;
  36.  
  37. # скачиваем всё, что качается
  38. wget --no-proxy -nc -t 0 -i get2.sankaku.txt
  39.  
  40. # очищаем и сортируем список ссылок
  41. cat get2.sankaku.txt|grep ^http > get2.jpg.sankaku.txt
  42.  
  43. a=1
  44. uag="Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.1.1) Gecko/20090715 Firefox/3.5.1 (.NET CLR 3.5.30729)"
  45. for name in `cat get2.jpg.sankaku.txt|sed 's/\.jpg//'`;
  46. do
  47. echo $a $name
  48. let "a=a+1"
  49. if [ ! -f `basename $name.jpg` ]
  50.      # если нет jpg, то качаем png
  51.      then wget --no-proxy -nc -t 0 $name.png -U "$uag"
  52.           if [ ! -f `basename $name.png` ]
  53.           # если нет png, то качаем gif
  54.           then wget --no-proxy -nc -t 0 $name.gif -U "$uag"
  55.                if [ ! -f `basename $name.gif` ]
  56.                # если нет gif, то качаем jpeg
  57.                then wget --no-proxy -nc -t 0 $name.jpeg -U "$uag"
  58.                     if [ ! -f `basename $name.jpeg` ]
  59.                     # если нет jpg, то качаем JPG
  60.                     then wget --no-proxy -nc -t 0 $name.JPG -U "$uag"
  61.                          if [ ! -f `basename $name.JPG` ]
  62.                          # если нет JPG, то качаем PNG
  63.                          then wget --no-proxy -nc -t 0 $name.PNG -U "$uag"
  64.                               if [ ! -f `basename $name.PNG` ]
  65.                               # если нет PNG, то качаем GIF
  66.                               then wget --no-proxy -nc -t 0 $name.GIF -U "$uag"
  67.                                    if [ ! -f `basename $name.GIF` ]
  68.                                    # если нет GIF, то качаем JPEG
  69.                                    then wget --no-proxy -nc -t 0 $name.JPEG -U "$uag"
  70.                                         if [ ! -f `basename $name.JPEG` ]
  71.                                         then echo $name >> not-found.sankaku.txt
  72.                                    fi # Not found
  73.                               fi #JPEG
  74.                          fi #GIF
  75.                     fi #PNG
  76.                fi #JPG
  77.           fi #jpeg
  78.      fi #gif
  79. fi #png
  80. done;
  81.  
  82. # делаем батник для переименования файлов
  83. # echo -n Creating rename.bat;a=1;for i in `cat get2.sankaku.txt|grep ^http | pcregrep -o -e '[a-f0-9]{32}\.'|sed 's/\.//'`; do echo move `dir $i*` `printf %06d $a`.`dir $i*`>>rename.sankaku.bat;echo -n .; let "a=a+1"; done;echo Done!
  84.  
  85. # убираем за собой
  86. #rm -f get*.sankaku.txt *.htm*
  87. #rm -f sankaku.txt
Advertisement
Add Comment
Please, Sign In to add comment