BS4:区分大小写搜索

0 投票
1 回答
733 浏览
提问于 2025-04-18 15:50

我想知道有没有办法只找到那些全大写的标签?我有一个HTML页面,里面有标签<a href=..>和标签<A href=...>。我只想获取格式为<A href=..>的标签。

当我尝试使用all = index.findAll('A')时,它什么都不返回。可是如果我用all = index.findAll('a'),我就会得到所有的'a'和'A'标签。

谢谢大家的建议。

1 个回答

2

HTML对大小写不敏感;在解析时,所有标签都会被转换成小写。

如果你需要区分标签的大小写,就得把文档当作XML来解析。你需要安装lxml,然后告诉BeautifulSoup使用XML模式来解析:

soup = BeautifulSoup(source, 'xml')

需要注意的是,XML的规则比HTML要严格;如果你解析的HTML文档不符合这些严格的规则,可能会解析失败。

撰写回答