Guest User

Fakku Download Script Fixed by Aishou

a guest
Dec 7th, 2012
656
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 3.51 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. DEBUG=1
  4.  
  5. LOC_BASE=/home/kaito/fakku
  6. LOC_OUTPUT=${LOC_BASE}/Output
  7. LOC_QUEUE=${LOC_BASE}/download.txt
  8. LOC_TEMP=${LOC_BASE}/Temp
  9.  
  10. echo "#################            Fakku Download Script by Crashmaxed       #################"
  11. echo "#################                    Fixed by Aishou ;)                #################"
  12. echo ""
  13.  
  14. for RAW_URL in `cat $LOC_QUEUE`
  15. do
  16.     DOUJIN_URL_RAW=$RAW_URL
  17.     echo "Raw URL: $DOUJIN_URL_RAW"
  18.     DOUJIN_URL_STRIPPED=`echo ${DOUJIN_URL_RAW} | sed 's/\/read//g'`
  19.     if [[ DEBUG -eq 1 ]]; then echo ">> Stripped URL: $DOUJIN_URL_STRIPPED"; fi
  20.  
  21.     echo ">> Getting Doujin Metadata..."
  22.     wget -qt 3 -O ${LOC_TEMP}/main.html $DOUJIN_URL_STRIPPED
  23.     WGET_STATUS=$?
  24.     if [[ WGET_STATUS -ne 0 ]]
  25.     then
  26.         continue
  27.     fi
  28.    
  29.     wget -qt 3 -O ${LOC_TEMP}/read.html ${DOUJIN_URL_STRIPPED}/read
  30.     WGET_STATUS=$?
  31.     if [[ WGET_STATUS -ne 0 ]]
  32.     then
  33.         continue
  34.     fi
  35.    
  36.     if [[ DEBUG -eq 1 ]]; then echo ">> Getting Doujin Pagecount..."; fi
  37.     DOUJIN_PAGECOUNT=`cat ${LOC_TEMP}/main.html\
  38.         | grep -P "[0-9]+ favorites.*[0-9]+</b> pages"\
  39.         | grep -oP "[0-9]+</b> pages"\
  40.         | grep -oP "[0-9]+"`
  41.        
  42.     if [[ DEBUG -eq 1 ]]; then echo ">> Getting Doujin Series..."; fi
  43.     DOUJIN_SERIES=`cat ${LOC_TEMP}/main.html\
  44.         | grep -P "Series:[ ]+<a href=\"/series"\
  45.         | grep -oP "<a href=\"/series/[^>]*>[^<]*</a>"\
  46.         | sed -r 's/<[^>]*>//g'`
  47.        
  48.     if [[ DEBUG -eq 1 ]]; then echo ">> Getting Doujin Artist..."; fi
  49.     DOUJIN_ARTIST=`cat ${LOC_TEMP}/main.html\
  50.         | grep -P "Artist:[ ]+<a href=\"/artists"\
  51.         | grep -oP "<a href=\"/artists/[^>]*>[^<]*</a>"\
  52.         | sed -r 's/<[^>]*>//g'`
  53.        
  54.     if [[ DEBUG -eq 1 ]]; then echo ">> Getting Doujin Title..."; fi
  55.     DOUJIN_TITLE=`cat ${LOC_TEMP}/main.html\
  56.         | grep -oP "<h1 itemprop=\"name\">[^<]*</h1>"\
  57.         | sed -r 's/<[^>]*>//g'`
  58.        
  59.     if [[ DEBUG -eq 1 ]]; then echo ">> Getting Doujin Language..."; fi
  60.     DOUJIN_LANG=`cat ${LOC_TEMP}/main.html\
  61.         | grep "<div class=\"right\">Language:" -A5\
  62.         | grep -oP "<a href=\"/[^>]*>[a-zA-Z]*</a>"\
  63.         | sed -r 's/<[^>]*>//g'`
  64.  
  65.     DOUJIN_LANG=`echo $DOUJIN_LANG | tr [:lower:] [:upper:]`
  66.         if [[ DEBUG -eq 1 ]]; then echo ">> Raw Doujin Lang: $DOUJIN_LANG"; fi
  67.     if [[ $DOUJIN_LANG == "ENGLISH" ]]
  68.     then
  69.         DOUJIN_LANG="EN"
  70.     elif [[ $DOUJIN_LANG == "JAPANESE" ]]
  71.     then
  72.         DOUJIN_LANG="JP"
  73.     else
  74.         DOUJIN_LANG="OTHER"
  75.     fi
  76.    
  77.    
  78.     echo ">> Title: $DOUJIN_TITLE"
  79.     echo ">> Series: $DOUJIN_SERIES"
  80.     echo ">> Artist: $DOUJIN_ARTIST"
  81.     echo ">> Pages: $DOUJIN_PAGECOUNT"
  82.     echo ">> Language: $DOUJIN_LANG"
  83.    
  84.     IMG_PATH=`cat ${LOC_TEMP}/read.html\
  85.         | grep "function imgpath" -A5\
  86.         | grep -oP "http://cdn.fakku.net[^']+"`
  87.    
  88.     if [[ DEBUG -eq 1 ]]; then echo ">> Image Path: $IMG_PATH"; fi
  89.    
  90.     echo ">> Downloading Images..."
  91.    
  92.     cd $LOC_TEMP
  93.    
  94.    
  95.    
  96.     for PAGE in `seq 1 $DOUJIN_PAGECOUNT`
  97.     do
  98.         PAGE_PADDED=`printf "%03s" 00$PAGE` # The Fix
  99.         if [[ PAGE -gt 9 ]] # Fixed Page Numbers over 9.
  100.         then
  101.             PAGE_PADDED=`printf "%03s" 0$PAGE`
  102.         fi
  103.                 if [[ PAGE -gt 99 ]] # Fixed Page Numbers over 99.
  104.         then
  105.             PAGE_PADDED=`printf "%03s" $PAGE`
  106.         fi
  107.        
  108.         echo "Downloading page ${PAGE} of ${DOUJIN_PAGECOUNT}..."
  109.  
  110.         wget -qt 3 ${IMG_PATH}/${PAGE_PADDED}.jpg
  111.         echo ">> ${IMG_PATH}/${PAGE_PADDED}.jpg"
  112.         WGET_STATUS=$?
  113.         if [[ WGET_STATUS -ne 0 ]]
  114.         then
  115.             continue
  116.         fi
  117.     done
  118.    
  119.     DOUJIN_TITLE_FORMAT="${DOUJIN_TITLE} - ${DOUJIN_SERIES} [${DOUJIN_LANG}] [${DOUJIN_ARTIST}]"
  120.  
  121.     echo "Doujin Title: $DOUJIN_TITLE_FORMAT"
  122.     echo ""
  123.    
  124.     zip -q9 "${LOC_OUTPUT}/${DOUJIN_TITLE_FORMAT}" *.jpg
  125.    
  126.     cd $LOC_TEMP
  127.     rm -rf *.jpg
  128.     rm -rf *.html
  129.    
  130. done
Advertisement
Add Comment
Please, Sign In to add comment