Python 使用BeautifulSoup获取与扩展名匹配的文件名

Python 使用BeautifulSoup获取与扩展名匹配的文件名,python,beautifulsoup,Python,Beautifulsoup,我正在尝试使用BeautifulSoup解析一个HTML页面,该页面包含文本文件,以扩展名.txt结尾。我想解析HTML,并获取以.txt结尾的字符串 所有这些字符串都在标记中,下面是一些示例: 如何获取foo.txt和bar.txt 我这样做: >links=soup.findAll('a') 但是我找不到如何提取完整的字符串。。。有什么建议吗?BeautifulSoup接受regexp作为参数形式find()和findAll() 这应该起作用: links = soup.findAll(

我正在尝试使用
BeautifulSoup
解析一个HTML页面,该页面包含文本文件,以扩展名
.txt
结尾。我想解析HTML,并获取以
.txt
结尾的字符串

所有这些字符串都在
标记中,下面是一些示例:

如何获取
foo.txt
bar.txt

我这样做:

>links=soup.findAll('a')


但是我找不到如何提取完整的字符串。。。有什么建议吗?

BeautifulSoup接受regexp作为参数形式
find()
findAll()
这应该起作用:

links = soup.findAll(href=re.compile("\.txt$"))

BeautifulSoup接受regexp作为参数形式
find()
findAll()
这应该起作用:

links = soup.findAll(href=re.compile("\.txt$"))

我想应该是:
soup.findAll('a',href=…
Hmm。vartec和mouad的建议之间有什么区别(如果有)。@a:a:我的建议实际上是搜索所有具有
href=“*.txt”
,@vartec solution检查所有具有
href=“*.txt”的标签
@A:理论上,我的版本会捕获任何带有
href
attr的标记。问题是,在HTML中唯一带有
href
的标记是
@vartec,@mouad:哦,好吧!这不是问题。我不明白的一点是,即使在BeautifulSoup的情况下,我们也在使用正则表达式。那么为什么不首先使用它呢直接?我想应该是:
soup.findAll('a',href=…
Hmm。vartec和mouad的建议之间有什么区别(如果有的话)。@a:a:我的建议实际上是搜索所有
a
标签中有
href=“*.txt”
,@vartec solution检查所有标签中有
href=“*.txt”
@A:理论上,我的版本会捕获任何带有
href
attr的标记。问题是,在HTML中唯一带有
href
的标记是
@vartec,@mouad:哦,好吧!这不是问题。我不明白的一点是,即使在BeautifulSoup的情况下,我们也在使用正则表达式。那么为什么不首先使用它呢直接的?