>> Edit article
이름
제목
패스워드
허영만(그림), 김세영(글)의 "사랑해"라는 만화를 아시는지요? 스포츠 조선 에 연재가 되고 있는데 잔잔한 이야기로 보는 이를 즐겁게 해주지요. 이 만 화가 조선 일보 사이트를 통해 서빙되는데 파일 이름의 일관성 같은 것이 없 어서 도저히 wget 같은 웹을 긁는 툴로 긁을 수가 없더군요. 그래서 lynx와 wget을 이용하여 "사랑해" 만화만을 다운 받을 수 있는 작은 스크립트를 짜 보았습니다. 오랜만에 쉘 스크립트를 짜본터라 영 엉망이지 만 분명 제대로 동작은 할 것입니다. :) 사랑해라는 만화를 좋아하신다면 한번 사용해 보십시오. 다 긁으면 115M 정 도 됩니다. 껄껄... 하루에 한번 크론탭으로 돌리면 갱신된 이미지를 다운 받을 수 있을 것입니 다. 키키키키 (저야 이미 돌리고 있지요.) 신택스 하이라이팅 버젼 --> http://linux.sarang.net/tmp/get.html ----------- 여기를 잘라 주세요 ----------- #!/bin/sh DATA="list.txt" # 사랑해 목록 페이지 URL0="http://www.chosun.com/bin/prelist?dir=n&code=bd_&id=" # 사랑해 이미지 페이지 URL1="http://www.chosun.com/photo/news/" g_list () { # 페이지 목록을 저장하는 파일을 검사 if [ ! -f ${DATA} ] then # 사랑해 만화 목록 마지막 페이지 echo 'LIST:80019794s838' >> ${DATA} # 사랑해 만화 목록 첫 페이지 echo 'LIST:000000000000' >> ${DATA} fi while true do # 페이지 목록의 마지막 줄을 가져와 다음 페이지 목록을 가져옴 URL="${URL0}$(grep "^LIST:" ${DATA} |tail -1 |sed 's/LIST://g')" LIST=$(lynx --dump "${URL}" |grep prelist |grep -v IMGMAP |grep -v 000000000000 |sed 's/^.*=//') grep "${LIST}" ${DATA} > /dev/null 2>&1 if [ $? -eq 1 ] then echo "LIST:${LIST}" >> ${DATA} printf "." else break fi done echo "[완료]" # 빈줄을 제거하고 정렬함 sort -ru ${DATA} |grep -v ^$ > ${DATA}.$$ mv -f ${DATA}.$$ ${DATA}; } g_page () { for LIST in $(grep "LIST:" ${DATA} |sed 's/LIST://g') do URL="${URL0}${LIST}" PAGE=$(lynx --dump "${URL}" |grep news |sed -e 's/^.*///' -e 's/.html//g' -e 's/^/PAGE:/g') echo "${PAGE}" >> ${DATA} printf "." done echo "[완료]" sort -ru ${DATA} |grep -v ^$ > ${DATA}.$$ mv -f ${DATA}.$$ ${DATA}; } g_imag () { # 이미지 저장 디렉토리 만듬 if [ ! -d image ] then mkdir image fi echo " +" for PAGE in $(grep "PAGE:" ${DATA} |sed 's/PAGE://g') do # 디렉토리명을 찾아냄 (년월까지) DATE0=$(echo $PAGE | sed 's/(^[0-9]{6}).*/1/g') # 년 월 일 포맷을 만듬 DATE1=$(echo $PAGE | sed 's/(^[0-9]{4})([0-9]{2})([0-9]{2}).*/1년 2월 3일/g') if [ ! -f "image/${PAGE}.gif" ] && [ ! -f "image/${PAGE}.jpg" ] then # gif 또는 jpg가 있으므로 다운로드 함 IMG0="${URL1}${DATE0}/${PAGE}.gif" IMG1="${URL1}${DATE0}/${PAGE}.jpg" echo " |--> ${DATE1} 이미지 다운" wget -P image "${IMG0}" > /dev/null 2>&1 || wget -P image "${IMG1}" > /dev/null 2>&1 fi done; echo " |" echo " +--> [완료]" } echo -n "1. 페이지 목록 가져옴 " g_list echo -n "2. 이미지 목록 가져옴 " g_page echo "3. 이미지 파일 가져옴" g_imag -- 아.지.사.바
Copyleft
1999-2026 by
JSBoard Open Project
Theme Designed by
IDOO
All right reserved