>> Read No. 971 article  
파이썬으로 라이코스 만화 긁어보기.

등록 2001-01-30 15:19:00     조회 4
이름 박응용    

		라이코스 만화 좋아 하시나요?
밑에 라이코스 만화 긁어오는 스크립트가
몇개 있던데 좀 불편하더군요...
제가 만든 파이썬 버젼은 만화책 이름만 알고 있으면 됩니다.
소스중에 COMICDIR 부분만 고치고 사용하시면 됩니다.
COMICDIR 은 만화가 저장될 디렉토리 입니다.
  #!/usr/bin/env python
 import os
import string
import glob
import sys
import urllib
import re
  # global
COMICDIR = '/home/pey/comic/'  # 요기를 자신에 맞게 고쳐주세요.
  def fetch(title, dir, code, booknum):
    if code: url_base = "http://comics.lycos.co.kr/단행본/%s/" % title
    else: url_base = "http://comics.lycos.co.kr/블랙탄/%s/" % title
    for i in booknum:
        condition = 0
        i = string.strip(i)
        for j in range(200):    #XXX over 200 ??
            page = j+1
            if code:
                url_complete = url_base + string.zfill(i,2) +
                    '/' + code+string.zfill(i,2)+ '-' +
                    string.zfill(str(page),3) + ".jpg"
            else:
                url_complete = url_base + string.zfill(i,2) +
                    '/' + string.zfill(str(page),3) + ".jpg"
            save_jpg=dir+'/'+string.zfill(i,2)+
                string.zfill(str(page),3)+".jpg"
            wget_out = os.system("wget -T 10 -O %s %s"
                % (save_jpg, url_complete))
            if not wget_out: condition = 1
            if not condition and i == string.strip(booknum[0]):
                print "입력이 잘못 되었습니다."
                os.system("rm -rf %s" % dir)
                sys.exit(2)
  def delzerofile(target_dir):
    os.chdir(target_dir)
    jpglist = glob.glob('*')
    for i in jpglist:
        if os.path.getsize(i) == 0:
            os.unlink(i)
 if __name__ == '__main__':
    title = string.strip(raw_input("만화이름: "))
    tmp = string.strip(raw_input( "만화책번호를  입력하세요."+
        " ',' 로 구분.1,2,3 권을 받을때: ex) 1,2,3 >> "))
    num = string.split(tmp, ',')
    url = "http://comics.lycos.co.kr/comicview1.asp?title=%s&volume=1&page=1"
        % title
    m = re.compile(r'.*01/(.*)01-00',re.DOTALL)
    p = m.match(urllib.urlopen(url).read())
    target_dir = COMICDIR+title
    os.system("mkdir %s" % target_dir)
    if p: code = p.group(1); fetch(title, target_dir, code, num)
    else: fetch(title, target_dir,None,num)
    delzerofile(target_dir)
이름
암호
  목록보기 윗글 아랫글
글쓰기
답장쓰기 수정 삭제
정규표현식 [ 상세 검색 ]
페이지로딩: [ 0.45 초 ] 작업시간: [ 0.06 초 ]

Copyleft 1999-2026 by JSBoard Open Project
Theme Designed by IDOO All right reserved
[TOP]

적수네 동네
+
| 적수네 동네
| 공부방
| 리눅스 잡지 서고
| LSN 소스
| 링크 모음
+---+
게시판
+
| 떠들어보세!
| 질문과 답변
| 새소식과 정보
| 1원짜리 팁?
| 대화방
+---+
칼럼?
+
| 세하 훔쳐보기
| Welcome2nite
| 혜진의 염장판
+---+
리눅스 상표권
+
| 반대 서명란
| 토론 게시판
+---+
GNU
+
| GNU 선언문
| GNU GPL
| GNU 미러 목록
+---+
프로젝트?
+
| 리눅스카운터
| RC5DES
| 실질헌법 제작
+---+
커널 소식
+
| 안정 버젼: 2.4.14
+---+
테마 선택
+
LSN 방송국?
+
| OFF AIR
+---+
회원
+
| 로그인
+---+
[ 적수네 동네 ] [ 리눅스 상표권 독점 반대 ] [ 한글 리눅스 문서 프로젝트 ] [ KrLine ] [ 사랑넷 ] [ Valid HTML 4.0! ] [ SlashDot ] [ Freshmeat ]
Copyleft (C) 1998-2001 Byeong-Chan Kim . License
TIME: 1791038199
System by WYZsoft, HDD by I.O.Linux, Mizi Research, Embryo, WOWLINUX, Domain by SarangNet, Network by KrLine.