だから私はこの短いスクリプト (正しい言葉ですか?) を書いて、explosm.net コミックからコミック画像をダウンロードしました.
それはうまく動作します。webpage html を取得するための urllib2 と image.retrieve() のための urllib
これを SO に投稿した理由: このコードを最適化するにはどうすればよいですか? REGEX (正規表現) を使用すると高速になりますか? インターネットの制限ですか?アルゴリズムが悪い…?
速度または一般的なコードの美学の改善は、 「回答」として大歓迎です。
ありがとうございました。
- - - - - - - - - - - - - - - - コード - - - - - - - - - -----------------
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! ^-^)