因此,我寫了這個簡短的腳本(正確的單詞?)從explosm.net漫畫下載漫畫圖像,因爲我有點最近發現了它,我想......把它放在我的iPhone上...... 3G。從EXPLOSM.net下載漫畫腳本[Python]
它工作正常,所有。 urllib2用於獲取網頁html和urllib for image.retrieve()
爲什麼我在SO上發佈了這個內容:如何優化此代碼? REGEX(正則表達式)會使其更快嗎?它是互聯網限制嗎?差的算法...?
在速度的任何改進或一般的代碼美學將不勝感激「回答」。
謝謝。
-------------------------------- CODE ----------- -----------------------
import urllib, urllib2
def LinkConvert(string_link):
for eachLetter in string_link:
if eachLetter == " ":
string_link = string_link[:string_link.find(eachLetter)] + "%20" + string_link[string_link.find(eachLetter)+1:]
return string_link
start = 82
end = 1506
matchingStart = """<img alt="Cyanide and Happiness, a daily webcomic" src="http://www.explosm.net/db/files/Comics/"""
matchingEnd = """></"""
link = "http://www.explosm.net/comics/"
for pageNum in range(start,start+7):
req = urllib2.Request(link+`pageNum`)
response = urllib2.urlopen(req)
page = response.read()
istart1 = page.find(matchingStart)
iend1 = page.find(matchingEnd, istart1)
newString1 = page[istart1 : iend1]
istart2 = newString1.find("src=")+4
iend2 = len(newString1)
final = newString1[istart2 +1 : iend2 -1]
final = LinkConvert(final)
try:
image = urllib.URLopener()
image.retrieve(final, `pageNum` + ".jpg")
except:
print "Uh-oh! " + `pageNum` + " was not downloaded!"
print `pageNum` + " completed..."
順便說一句,這是Python 2.5的代碼,而不是3.0,但你打賭,我都PYTHON 3.0的功能,極大地研究,並與前或春節後立即發揮各地(後學院應用 - YAY!^ - ^)
沒什麼問題,因爲沒有什麼壞的。請發佈這個到你自己的博客頁面,而不是在這裏。 – 2008-12-27 13:49:05