Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何从远程服务器检索文件目录?_Python_File_Directory_Screen Scraping - Fatal编程技术网

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

Python 如何从远程服务器检索文件目录?,python,file,directory,screen-scraping,Python,File,Directory,Screen Scraping,如果我在远程web服务器上有一个允许目录浏览的目录,我将如何从我的其他web服务器获取列出的所有文件?我知道我可以使用urllib2.urlopen获取单个文件,但如何获取该远程目录中所有文件的列表?如果Web服务器启用了目录浏览,它将返回一个HTML文档,其中包含指向所有文件的链接。您可以解析HTML文档并提取所有链接。这将为您提供文件列表 可以使用该类提取感兴趣的元素。类似这样的方法会奏效: from HTMLParser import HTMLParser import urllib c

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

如果Web服务器启用了目录浏览,它将返回一个HTML文档,其中包含指向所有文件的链接。您可以解析HTML文档并提取所有链接。这将为您提供文件列表

可以使用该类提取感兴趣的元素。类似这样的方法会奏效:

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级。你将省去写剧本的所有麻烦

e、 差不多

wget -H -r --level=1 -k -p www.yourpage/dir

您将使用什么协议?我想在Python代码中使用检索到的文件,这样编写脚本就更容易了。