如果我在允许目录浏览的远程Web服务器上有一个目录,我将如何从我的其他Web服务器获取那里列出的所有文件?我知道我可以使用urllib2.urlopen来获取单个文件,但是如何获取该远程目录中所有文件的列表?
答案 0 :(得分:6)
如果网络服务器启用了目录浏览,它将返回一个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)
答案 1 :(得分:2)