如何从远程服务器获取文件目录?
如果我在一个远程的网络服务器上有一个可以浏览的文件夹,我该怎么从我的另一个网络服务器上获取里面列出的所有文件呢?我知道可以用urllib2.urlopen来获取单个文件,但我该如何获取那个远程文件夹里所有文件的列表呢?
2 个回答
5
如果网站的服务器开启了目录浏览功能,它会返回一个包含所有文件链接的HTML文档。你可以解析这个HTML文档,提取出所有的链接。这样你就能得到文件的列表。
你可以使用 HTMLParser 这个类来提取你感兴趣的元素。像下面这样就可以工作:
from HTMLParser import HTMLParser
import urllib
class AnchorParser(HTMLParser):
def handle_starttag(self, tag, attrs):
if tag =='a':
for key, value in attrs.iteritems()):
if key == 'href':
print value
parser = AnchorParser()
data = urllib.urlopen('http://somewhere').read()
parser.feed(data)