분류 | 게시판 |
베스트 |
|
유머 |
|
이야기 |
|
이슈 |
|
생활 |
|
취미 |
|
학술 |
|
방송연예 |
|
방송프로그램 |
|
디지털 |
|
스포츠 |
|
야구팀 |
|
게임1 |
|
게임2 |
|
기타 |
|
운영 |
|
임시게시판 |
|
#!/usr/bin/python
import getopt
import os
import subprocess
import sys
import time
def usage():
print "Usage:"
print "options:"
print "-e <episode range> (default: 1-1)"
print "-t <title id>"
print "-n <title string> (optional)"
print "-o <output directory> (default: ./)"
print "sample:"
print "webtoon.py -e 1-10 -t 22897 (episode 1 ~ 10 download)"
sys.exit(2)
def main(argv):
title_id = ''
title = ''
episode_start = 1
episode_end = 2
output_dir = './'
finish = False
try:
opts, args = getopt.getopt(argv, "he:t:n:o:")
except getopt.GetoptError, e:
print "[ERROR] GetoptError: "+str(e)
sys.exit(2)
for opt, arg in opts:
if opt == "-h":
usage()
elif opt == "-e":
try:
parse = arg.split("-")
episode_start = int(parse[0])
episode_end = int(parse[1]) + 1
except:
print "[ERROR] Incorrect episode range"
usage()
elif opt == "-t":
title_id = arg
elif opt == "-n":
title = arg
elif opt == "-o":
output_dir = arg
if output_dir[-1] != '/':
output_dir += '/'
if title_id == '':
usage()
if (episode_start > episode_end):
print "[ERROR] Incorrect episode range"
if not os.path.isdir(output_dir+title_id):
os.system('mkdir '+output_dir+title_id)
find_string = 'http://imgcomic.naver.com/webtoon/'+title_id+'/'
for episode in range(episode_start, episode_end):
if os.path.isfile('./output.output'):
os.system('rm ./output.output')
page_url = "http://comic.naver.com/webtoon/detail.nhn?titleId=%s\\&no=%d"%(title_id, episode)
curl_cmd = 'curl -s -o ./output.output '+page_url
curl = subprocess.Popen(curl_cmd, shell=True)
for i in range(0,30): # 3 seconds
time.sleep(0.1)
if curl.poll() != None:
break
if not os.path.isfile('./output.output'):
print '[INFO] Finish!'
break
output_file = open('./output.output', 'r')
for line in output_file.readlines():
line = line.strip()
s_idx = line.find(find_string)
if s_idx != -1:
e_idx = line[s_idx:].find('"')
url = line[s_idx:s_idx+e_idx]
url_split = url.split('/')
output_name = "%s%s/%s_%03d_%s.jpg" %\
(output_dir, title_id, title, episode, url_split[-1])
wget_cmd = 'wget -O '+output_name+' '+url
result = os.system(wget_cmd)
if result != 0:
print '[ERROR] Failed download'
output_file.close()
if __name__ == '__main__':
main(sys.argv[1:])
죄송합니다. 댓글 작성은 회원만 가능합니다.
번호 | 제 목 | 이름 | 날짜 | 조회 | 추천 | |||||
---|---|---|---|---|---|---|---|---|---|---|
124 | 누가 꼬부기 빵 맛없다 했냐 [2] | 꼼울 | 22/06/11 10:47 | 1684 | 5 | |||||
123 | 흐물흐물한 글자 어떻게 쓰죠 [4] | 꼼울 | 18/04/05 15:31 | 59 | 0 | |||||
122 | 신인 걸그룹 .. 노래 찾아봅니다. [2] | 꼼울 | 17/02/02 10:36 | 24 | 0 | |||||
121 | 몸매가 너무 조세호같아서 조세호라고 못하겠음 | 꼼울 | 16/05/15 18:25 | 118 | 0 | |||||
120 | 코어2쿼드 아직 쓸만할까요? (견적질문) [7] | 꼼울 | 16/03/10 02:24 | 101 | 0 | |||||
119 | 222222 | 꼼울 | 16/02/02 22:22 | 14 | 0 | |||||
118 | runtastic pro 무료 [3] | 꼼울 | 16/01/03 10:44 | 87 | 1 | |||||
117 | 오래전 오유에서 스크랩 해뒀던 건데.. Rose / Calleia [6] | 꼼울 | 15/11/27 19:04 | 55 | 2 | |||||
116 | 복면가왕 석고대죄부인 [7] | 꼼울 | 15/04/26 17:05 | 545 | 1 | |||||
115 | 2222222 [2] | 꼼울 | 15/02/22 22:22 | 77 | 2 | |||||
114 | 버프 기대합니다 [1] | 꼼울 | 14/06/23 05:15 | 52 | 0 | |||||
113 | 오유에서 본 만화좀 찾아주세요 | 꼼울 | 14/03/07 13:15 | 15 | 0 | |||||
112 | 렛잇고 렛잇고 세상의 말 다 지우니 이 말 하나 남네요 렛잇비 [1] | 꼼울 | 14/02/19 13:00 | 240 | 3 | |||||
111 | 기성용 결승골이네 | 꼼울 | 14/01/23 07:26 | 162 | 0 | |||||
110 | Hour of Code 한시간 동안 프로그래밍 코드를 | 꼼울 | 13/12/16 15:30 | 35 | 0 | |||||
109 | 윈도우 분할 프로그램 만들어 봤습니다. (한달만에 재도전) [7] | 꼼울 | 13/11/05 19:03 | 85 | 4 | |||||
108 | 윈도우 분할 프로그램 만들어 봤는데요.. | 꼼울 | 13/09/26 22:49 | 44 | 1 | |||||
107 | 다음 웹툰 다운로드 해서 보기 | 꼼울 | 13/08/16 19:19 | 69 | 0 | |||||
106 | 욕하지 마라 | 꼼울 | 13/05/14 09:18 | 149 | 0 | |||||
105 | 네이버 웹툰 다운로드 해서 보기 [7] | 꼼울 | 13/05/09 18:34 | 43 | 8 | |||||
104 | 이번 싸이 젠틀맨..자꾸들으니 [5] | 꼼울 | 13/04/12 14:57 | 367 | 1 | |||||
▶ | 개인 자료 | 꼼울 | 13/04/02 10:03 | 11 | 0 | |||||
102 | 오늘의 유머 - 태연(SNSD) [1] | 꼬물꾸물 | 13/03/13 11:14 | 237 | 1 | |||||
101 | 최고다 이순신 일본 발음 [2] | 꼬물꾸물 | 13/03/11 11:22 | 304 | 1 | |||||
100 | 손흥민 골 알고보니 60m 단독 드리블 [4] | 꼬물꾸물 | 13/01/14 10:39 | 199 | 4 | |||||
99 | QPR 1:1 West Brom (냉무) [5] | 꼬물꾸물 | 13/01/06 01:51 | 235 | 2 | |||||
98 | QPR 0:1 West Brom (냉무) | 꼬물꾸물 | 13/01/06 01:40 | 106 | 0 | |||||
97 | 이청용 골 [6] | 꼬물꾸물 | 13/01/06 00:14 | 178 | 5 | |||||
96 | 대선결과 재검표 한다는게 베스트에 있던데 [2] | 꼬물꾸물 | 13/01/03 19:01 | 121 | 0 | |||||
95 | 나스리 퇴장 [3] | 꼬물꾸물 | 12/12/30 00:46 | 135 | 0 | |||||
|
||||||||||
[1] [2] [3] [4] [5] | ||||||||||