懒人!?哦,那不就是我罗。那晚把聊斋的选集给翻完后无所是事(其实是懒人不想做事),想到前不久回到某处见到某同学在线看漫画是那么地happy,于是也想找回一些不错来看看。哎呀,不看不知道,在线看真是烦,除了有不少广告外还要左拖一下右拉一下才能看完,不能全屏,不爽。还有更不爽的就是你得浪费一点青春去等下载图片,特别是网络慢的时候。于是想到了以前写的一个shell,是用来下载东西,呵,于是用unix的懒人思想写了一个自动下载漫画回来看的shell,等载完了我再慢慢全屏欣赏。
当然,还有不少不足的地方,而且只能用于某种有规律的情况下。不过,对于种懒人也足够使用了。更加懒的人还可以在此基础上去再去完善他的懒人思想。
#!/bin/sh
################################################
### file: down_comic.sh
### disc: auto download comic script
### date: 2008-11-18
### author: xpirate
################################################
is_char=1
################################################
### functions
################################################
## down address volume
## down(address volume_code end_no start_no)
function down()
{
if [ $# -lt 3 ]; then
echo "args error!!!"
exit -1;
elif [ $# -lt 4 ]; then
start_no=0
else
start_no=$4
fi
local web_addr=$1
local vol_name=$2
local end_no=$3
if [ ! -d $vol_name ]; then
mkdir $vol_name
fi
cd $vol_name
local i=$start_no
while [ $i -lt $end_no ]; do
if [ $is_char -ne 0 ]; then
if [ $i -lt 10 ]; then
file_name="00$i"
elif [ $i -lt 100 ]; then
file_name="0$i"
else
file_name="$i"
fi
else
file_name=$i
fi
wget ${web_addr}${vol_name}/${file_name}.jpg
i=$(($i+1))
done
cd ..
}
### volume code is number
### down_number(address pages start)
function down_number()
{
local web_addr=$1
local page=($2)
local start=$3
local n=${#page}
local i=0
while [ $i -lt $n ]; do
down "$web_addr" $(($i+$start)) ${page[${i}]}
i=$(($i+1))
done
}
### volume code is string
### down_string(address vols pages)
function down_string()
{
local web_addr=$1
local vol=($2)
local page=($3)
local n=${#vol}
local i=0
while [ $i -lt $n ]; do
down "$web_addr" ${vol[${i}]} ${page[${i}]}
i=$(($i+1))
done
}
################################################
### some samples
################################################
### download for volume code is string
### http://aa.bb.com/cc/Vol_01/000.jpg ~ 201.jpg
### http://aa.bb.com/cc/Vol_02/000.jpg ~ 202.jpg
### http://aa.bb.com/cc/Vol_tebieban/000.jpg ~ 100.jpg
#vols=(01 02 'tebieban')
#pages=(1 3 5)
#down_string "http://aa.bb.com/cc/Vol_"; "${vols}" "${pages}"
### download for volume code is number
### http://aa.bb.com/cc/Vol_3/000.jpg ~ 201.jpg
### http://aa.bb.com/cc/Vol_4/000.jpg ~ 202.jpg
### http://aa.bb.com/cc/Vol_5/000.jpg ~ 100.jpg
#pages=(4 5 6)
#down_number "http://aa.bb.com/cc/Vol_"; "${pages}" 3
### download
### http://aa.bb.com/cc/Vol_04/040.jpg ~ 200.jpg
#down "http://aa.bb.com/cc/Vol_"; '04' 10 4 |