检索位于URL的文件列表,这些文件的文件名与已知模式匹配

2024-04-20 08:14:52 发布

您现在位置:Python中文网/ 问答频道 /正文

有一个网址,一位同事在那里设置了大量文件供我下载

url = "http://www.some.url.edu/some/dirname/"

在这个目录中,有大量文件具有不同的文件名模式,我事先就知道这些文件,例如“subvol1\u file1”。焦油.gz“,”子卷1\u文件2。焦油.gz“等。我将使用fnmatch根据文件名模式有选择地下载这些文件。你知道吗

我需要的是目录名中所有文件名的简单列表或生成器。有没有一种简单的方法可以使用,例如,BeautifulSoup或urllib2来检索这样的列表?你知道吗

一旦我有了list/iterable,我们称之为filename\u sequence,我计划用以下伪代码下载带有模式filepat的文件:

filename_sequence = code_needed
filepat = "*my.pattern*"
import os, fnmatch
for basename in fnmatch.filter(filename_sequence, filepat):
    os.system("wget "+os.path.join(url, basename))

Tags: 文件url列表os文件名模式somefilename
1条回答
网友
1楼 · 发布于 2024-04-20 08:14:52

不确定这是否适用于您的情况,但您可以对href属性值应用正则表达式模式:

import re

pattern = re.compile(r"subvol1_file\d+\.tar\.gz")
links = [a["href"] for a in soup.find_all("a", href=pattern)]

相关问题 更多 >