전 만화를 빨리 보는 편이라서, 다음 페이지로 넘어갈 때의
그 몇 초마저도 기다리기가 힘들더군요. 그래서, 결국 로컬로
긁어오는 다음과 같은 스크립트를 만들게 되었습니다. 덕분에
쉘스크립트도 다시 공부했죠. wget덕택에 리눅스의 파워풀함을
다시 한번 느낄 수 있었습니다. 이런 건 윈도에선 안되겠죵?
라이코스 만화방은 비록 오른쪽 클릭도 막고, 메뉴도 없에서
소스보기를 막아놨지만.. Ctrl+N (Alt+N) 으로 새 윈도우를
띄우는 건 안막았더군요. 크크.
어쨌든 만화 이미지의 URL 중에서 중요한 파라미터인 만화이름,
권, 이미지 파일의 prefix 를 알아내는 게 선행되어야 합니다.
이건 만화 종류마다 다르더군요.
;
(무서운 사실. 스포츠 신문들은 각 만화들의 이미지 파일명이
규칙적이지 않더군요. 두둥.. 흐흑.. 신이라 불리우는 사나이를
보고 싶었는데..
; 사랑해..도..)
lycos.sh 는 특정 만화의 특정 챕터만 긁어오며, downall 은
특정 만화의 x 권부터 y 권까지를 긁어올 수 있습니다. 좀더
다듬었으면, wget 의 리턴값을 체크해서 마지막권을 알 수
있었을텐데.. 그냥 귀찮아서 200권까지 무조건 긁어오도록
했습니다.
<pre>
::::::::::::::
lycos.sh
::::::::::::::
#
# 라이코스 만화방에서 다운받기
#
# Usage : lycos.sh bookname chapter prefix
# ex : lycos.sh 닥터노구찌 10 no
#
#!/bin/bash
if [ $# -ne 3 ]; then
echo "Usage : lycos.sh bookname chapter prefix"
echo " ex : lycos.sh 닥터노구찌 10 no"
echo " ex : lycos.sh 초밥왕 2 m"
exit
fi
# 책 제목
bookname=$1
# 1-9권일 경우, 0을 앞에 붙인다.
if [ $2 -lt 10 ]; then
chapter="0"$2;
else
chapter=$2;
fi
# prefix
prefix=$3
# 한권이 200페이지를 넘지 않는다.
for i in `seq 1 200`; do
if [ $i -lt 10 ]; then
page="00"$i;
elif [ $i -lt 100 ]; then
page="0"$i;
else
page=$i;
fi
filename="http://comics.lycos.co.kr/단행본/"$bookname"/"$chapter"/"$prefix$chapter"-"$page".jpg"
wget $filename
done
::::::::::::::
downall.sh
::::::::::::::
#!/bin/bash
if [ $# -ne 3 ]; then
echo "Usage : downall 만화제목 from_chapter to_chapter prefix"
echo " ex : downall 닥터노구찌 1 10 no"
exit
fi
for i in `seq $2 $3`; do
~/lycos.sh $1 $i $4
done
</pre>--Reiot, the Fallen Lord of MUDMANIA