如何从远程服务器检索文件目录?

Tom*_*ort 3 python directory screen-scraping file

如果我在允许目录浏览的远程Web服务器上有一个目录,我将如何从我的其他Web服务器获取那里列出的所有文件?我知道我可以使用urllib2.urlopen来获取单个文件,但是如何获取该远程目录中所有文件的列表?

Rob*_*tie 6

如果Web服务器启用了目录浏览,它将返回一个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)
Run Code Online (Sandbox Code Playgroud)