~cpp
import os
import time
import re
import urllib
time.clock()
print """μ΄ νλ‘κ·Έλ¨μ www.replays.co.krμ μ€νν¬λννΈ λ¦¬νλ μ΄λ₯Ό
λͺ¨μμ£Όλ νλ‘κ·Έλ¨ μ
λλ€."""
name = raw_input("κ²μνκ³ μΆμ κ²μ΄λ¨Έμ μ΄λ¦μ μ
λ ₯νμΈμ : ")
inputDir = raw_input("""μ μ₯ νκ³ μΆμ κ²½λ‘λ₯Ό μ§μ νμΈμ.(μ>c:\\\\replay\\\\) : """)
global keyGamer
keyGamer = name
global saveDirName
saveDirName = name
global keyRace
keyRace = ''
global savedNum
savedNum = 0
global defaultDir
defaultDir = inputDir
#defaultDir = 'D:\\Unzip\\star\\'
def main():
global savedNum
replayNum = 0
#url='http://www.daum.net'
url = 'http://www.replays.co.kr/technote/main.cgi?board=bestreplay_pds/'
print '%s replay.' % keyGamer
print 'going to that page...'
a = urllib.urlopen(url)
lines = a.readlines()
print 'reading page....'
f = open('temp.html', 'w')
for temp in lines:
f.write(temp)
f.close()
#replayNumκ°μ Έμ€κΈ°
#http://165.194.17.5/wiki/index.php?url=zeropage&no=2985&title=Linux/RegularExpression&login=processing&id=&redirect=yes
#re.compile() ν΄λΉ λ°μ΄ν°μμ μνλ μ 보λ₯Ό ν΄μνμ¬ κ°λκ²
pattern = re.compile('(^<TABLE.*<a.*number=)(.*)&view=2.*\[1\].*')
print 'pattern searching...'
lineNum = 0 #λΌμΈλλ²μ΄κΈ°ν
for line in lines:
try:
lineNum = lineNum + 1
matching = pattern.match(line)
if matching:
replayNum = matching.group(2)
print replayNum
#print 'λΌμΈλλ² : %d' % lineNum
except:
print 'μλ°μ΄λ€'
#λͺ©λ‘λ€μ§κΈ°(with μ μμ΄λ¦)
itemNum = 15
flag = 1
for i in range(int(replayNum), 0, itemNum * -1):
print 'β
β
β
%s %dλ²μ§Έ νμ΄μ§ νμμ€....' % (keyGamer, flag)
flag = flag + 1
beReadingUrl = 'http://www.replays.co.kr/technote/main.cgi?board=bestreplay_pds&number=%d&view=2&howmanytext=' % i
aaa = urllib.urlopen(beReadingUrl)
lines = aaa.readlines()
# pattern = re.compile('.*<a.*<a.*\"(http.*)\".*' + keyGamer + '.*')
pattern = re.compile('.*<a.*<a.*\".(.*)\".*' + keyGamer + '.*')
for line in lines:
try:
matching = pattern.match(line)
if matching:
choicedRepUrl = 'http://www.replays.co.kr/technote' + matching.group(1)
#print matching.group()
#print choicedRepUrl
saveRep(choicedRepUrl)
#print 'μ±κ³΅μ΄λ€'
#print 'λ
Έλ§€μΉ'
except:
print 'except'
print '.'
print '.'
print '.'
print '.'
print 'ββββββββμλ£!!!βββββββββ'
print '%s νμλλ ν 리μ μ΄ %d κ°μ 리νλ μ΄λ₯Ό μ μ₯νμμ΅λλ€.' % (saveDirName , savedNum)
print 'κ²½κ³Όμκ° : μ½ %d λΆ' % (int(time.clock()/60) + 1)
def saveRep(url):
global savedNum
savedNum += 1
a = urllib.urlopen(url)
lines = a.readlines()
pattern = re.compile('^<a href=\".(.*filename=(.*.rep).*)\".*')
for line in lines:
try:
matching = pattern.match(line)
if matching:
downUrl = 'http://www.replays.co.kr/technote' + matching.group(1)
fileName = matching.group(2)
#print downUrl
#print fileName
#print 'repνμ΄μ§ μ κ·Όμ€ : %s' % downUrl
aa = urllib.urlopen(downUrl)
print ' %d λ²μ§Έ repνμΌμ μ₯μ€ : %s ' % (savedNum , fileName)
#print 'confirm existing directory...'
if os.path.exists(defaultDir + saveDirName)==0:
os.mkdir(defaultDir + saveDirName)
fp = open(defaultDir + saveDirName + '\\' + fileName, 'wb')
fp.write(aa.read())
fp.close()
except:
print 'except'
if __name__ == '__main__':
main()