【发布时间】:2012-12-09 09:24:04
【问题描述】:
您好,我只是想知道我正在尝试创建一个从 Internet 下载文件的 python 应用程序,但目前它只下载一个名称为我知道的文件...有什么办法可以得到一个列表在线目录中的文件并下载它们?我给你看我一次下载一个文件的代码,这样你就知道我不想做什么了。
import urllib2
url = "http://cdn.primarygames.com/taxi.swf"
file_name = url.split('/')[-1]
u = urllib2.urlopen(url)
f = open(file_name, 'wb')
meta = u.info()
file_size = int(meta.getheaders("Content-Length")[0])
print "Downloading: %s Bytes: %s" % (file_name, file_size)
file_size_dl = 0
block_sz = 8192
while True:
buffer = u.read(block_sz)
if not buffer:
break
file_size_dl += len(buffer)
f.write(buffer)
status = r"%10d [%3.2f%%]" % (file_size_dl, file_size_dl * 100. / file_size)
status = status + chr(8)*(len(status)+1)
print status,
f.close()
那么它是从这个网站下载taxi.swf,但我想要它做的是从那个目录“/”下载所有.swf到计算机?
有可能吗,非常感谢您。 -Terrii-
【问题讨论】:
-
CDN 是否提供列表?如果没有,最好的办法是抓取该网站的网页并提取链接,然后从 CDN 下载游戏。
-
如果不是你的,那么是否提供索引取决于服务器。如果不是,那么@nhahtdh 是对的,这就是你所能做的。
-
好的,谢谢,我如何抓取我已经阅读了一些但似乎无法解决的网站?