>> Edit article
이름
제목
패스워드
해봤는데 시간이 좀 걸리더군요. 처음이라 다 받아오느라 그랬나.. ㅎㅎ 그런데 이런 방법을 이용해서 오늘에 해당하는 그림화일의 url을 구하는 php로 할수는 없나요? 다운을 받는게 아닌 그냥 홈페이지에 바로 img src로 넣어두고 싶어서요.. 기왕이면 광수생각도.. ^^; 소스를 아무리 봐두 잘 모르겠더군요. 역시 초짜의 슬픔.. ㅜ.ㅠ 훔.. 내용이.. 질문인지라.. 조금 조심스럽네요. 팁란에서 질문이라니.. --; : 허영만(그림), 김세영(글)의 "사랑해"라는 만화를 아시는지요? 스포츠 조 선 : 에 연재가 되고 있는데 잔잔한 이야기로 보는 이를 즐겁게 해주지요. 이 만 : 화가 조선 일보 사이트를 통해 서빙되는데 파일 이름의 일관성 같은 것이 없 : 어서 도저히 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