Clicky

One Manga Downloader (Shell Script) v1.0 | suksit dot com

One Manga Downloader (Shell Script) v1.0

Updated

อยากอ่านการ์ตูนย้อนหลังใน One Manga แต่ขี้เกียจคลิกทีละหน้า เลยเขียน shell scipt บน Cygwin ให้โหลดมาทีละ chapter แล้วเซฟเป็นไฟล์ .cbr จะได้เลือกอ่านได้ง่ายๆ

สคริปต์ที่ใช้ก็ประมาณนี้

#!/bin/bash
 
base_url="http://www.onemanga.com"
manga_name=$1
chapter=$2
last_chapter=$3
 
if [[ "${last_chapter}" == "" ]]; then
    last_chapter=${chapter}
fi
 
while [[ ${chapter} -le ${last_chapter} ]]
do
    next_page_chapter=$chapter
    page_location=`curl -s ${base_url}/${manga_name}/${chapter}/ | grep -i "begin reading" | awk -F\" '{print $2}'`
 
    while [[ $next_page_chapter -eq $chapter ]]
    do
        curl -s ${base_url}${page_location} > tmp_page
 
        image_location=`grep "class=\"manga-page\"" < tmp_page | awk -F\" '{print $4}'`
 
        if [[ "$image_location" != "" ]]; then
            wget $image_location
        fi
 
        page_location=`grep "value=\"next page\"" < tmp_page | awk -F\' '{print $2}'`
        next_page_chapter=`echo ${page_location} | cut -d\/ -f3`
    done
 
    /cygdrive/c/Program\ Files/WinRAR/Rar.exe a ${manga_name}_${chapter}.cbr *.jpg
    rm *.jpg
 
    chapter=$((chapter+1))
done
 
rm tmp_page

สร้าง directory ใหม่ซักอันนึง แล้วเซฟ shell script ข้างบนเป็นไฟล์ชื่ออะไรก็ได้ เช่น onemanga.sh แล้วสั่ง chmod +x onemanga.sh เพื่อให้สามารถ execute ได้

วิธีใช้ก็เรียกสคริปต์ ตามด้วยชื่อเรื่อง (หาจาก URL ใน One Manga), chapter เริ่มต้น และ chapter สุดท้าย เช่น

./onemanga.sh Hajime_no_Ippo 800 824

หรือถ้าต้องการแค่ chapter เดียว ก็ไม่ต้องใส่ chapter สุดท้าย

./onemanga.sh One_Piece 516

ปล. ถ้ารันบน Cygwin ต้องลง cURL กับ wget ด้วย (เลือกจากใน setup.exe) ถ้ารันบนลินุกซ์ หรือไม่ได้ใช้ WinRAR ก็ต้องแก้บรรทัดที่เรียก Rar.exe เป็นอย่างอื่นแทน :P

3 comments

karn's picture
karn (visitor) says:

แสรด.. ทำไมไม่เอาข้อความใน "ปล." ไปบอกตั้งแต่แรก

oholit's picture
oholit (visitor) says:

โห...เก่งหว่ะพี่ ผมก็อ่านการ์ตูนย้อนหลังนะครับ ขี้เกียจ load เหมือนกันด้วย แต่วิธีผมมันใช้สมองน้อยกว่านั้นเยอะเลยอ่ะ เช่น ผมอยากอ่าน Dragonball แต่ขี้เกียจ load ทีละหน้า ก็ google โดยใช้ keywork ว่า "download dragonball" เพียงแค่นี้ ก็จะเจอ web ที่เค้าให้ load ทั้ง set ได้แล้วอ่ะครับ

แต่นับถือว่าพี่เก่งจริงๆ ครับ

Anonymous's picture
Anonymous (visitor) says:

Works but I had to modify the sript for personal reasons now the scrip includes mkdir ${chapter} cp *.jpg ${chapter} rm *.jpg at the end.

Post new comment

The content of this field is kept private and will not be shown publicly. If you have a Gravatar account associated with the e-mail address you provide, it will be used to display your avatar.