import urllib
import re
import string

print "="*50
print " Beta News EntGirm Download Script!"
print "="*50
num_start = 0 #시작할 그림 번호
num_end = 2666 #마지막 그림 번호
WORK_DIR = "c:\\dir\\beta" #저장할 디렉토리 c:\dir 에 저장됩니다. 그리고 파일 앞에 beta라는 이름이 붙습니다.

def saveJPG(num, jpg_name): #파일 이름을 받아서 파일을 저장하는 함수
pagename = "http://data.betanews.net/imgdb/screen_star/%s.jpg" % jpg_name #실제파일이 있는 디렉토리
print pagename
filename = WORK_DIR + jpg_name+'.jpg' #파일이름을 만들어줌
print num, filename #번호와 파일 이름을 출력해 줍니다.
aa = urllib.urlopen(pagename) #jpg에대한 정보를 가지고있는 객체를 만들어 줍니다.
try:
f1 = open(filename, "wb") #파일을 바이너리 모드로 저장함니다.
f1.write(aa.read()) #실제 주소에서 jpg파일을 읽고 씀니다.
f1.close
except:
print "error on open %s" % filename #에러가 나면 에러 출력


for num in range(num_start,num_end):
page = "http://betanews.net/screenshot/read.html?table=screen_star&page=1&num=%d&no=5022&depth=0" % num #베타뉴스는 num숫자만 바꾸어 주면 됩니다.
try: #가끔식 에러가 나서 ...
a = urllib.urlopen(page) #페이지 정보를 읽어옴..
except:
print "Time Out...."
continue
data = a.readlines()
p = re.compile('.*image=.*') #정규표현식으로 imgage가 있는 곳만 보여줍니다.
for line_one in data:
m = p.match(line_one)
if m:
tmp = string.find(line_one,'image=') #처음 발견된 곳을 정수형 값으로 돌려줍니다.
tmp_line=line_one[tmp+6:tmp+16] #파일 이름만 함수로 넘겨주기 위함 확장자 없이
saveJPG(num, tmp_line)

print "Good Day!" #모든 파일을 읽어오면 ....


출처 : http://bbs.python.or.kr/viewtopic.php?t=14659

'programming > python' 카테고리의 다른 글

파이썬 스타일 지도서  (0) 2004.01.27
특정 달의 날짜 수 구하기  (4) 2004.01.27
파이썬 2.3 간편 참조서  (2) 2004.01.25

+ Recent posts