beautifulsoup 不区分大小写?
beautifulsoup Case Insensitive?
我正在阅读:Is it possible for BeautifulSoup to work in a case-insensitive manner?
但这不是我真正需要的,我正在寻找网页中的所有 img
标签,其中包括:IMG, Img etc...
此代码:
images = soup.findAll('img')
只会查找区分大小写的 img
标签,那么如何在不为每种可能性添加新行的情况下解决这个问题(并且可能会忘记添加一些)?
请注意,上面的问题不是关于标签,而是关于属性。
BeautifulSoup
本身不区分大小写 试一试。如果您在结果中遗漏了某些信息,则可能存在另一个问题。如果在某些情况下需要,您可以在使用 xml
解析器时强制它解析敏感。
注意: 在较新的代码中避免使用旧语法 findAll()
而是使用 find_all()
- 更多信息请花一分钟时间 check docs
例子
from bs4 import BeautifulSoup
html = '''
<img src="" alt="lower">
<IMG src="" alt="upper">
<iMG src="" alt="mixed">
'''
soup = BeautifulSoup(html)
soup.find_all('img')
输出
[<img alt="lower" src=""/>,
<img alt="upper" src=""/>,
<img alt="mixed" src=""/>]
我正在阅读:Is it possible for BeautifulSoup to work in a case-insensitive manner?
但这不是我真正需要的,我正在寻找网页中的所有 img
标签,其中包括:IMG, Img etc...
此代码:
images = soup.findAll('img')
只会查找区分大小写的 img
标签,那么如何在不为每种可能性添加新行的情况下解决这个问题(并且可能会忘记添加一些)?
请注意,上面的问题不是关于标签,而是关于属性。
BeautifulSoup
本身不区分大小写 试一试。如果您在结果中遗漏了某些信息,则可能存在另一个问题。如果在某些情况下需要,您可以在使用 xml
解析器时强制它解析敏感。
注意: 在较新的代码中避免使用旧语法 findAll()
而是使用 find_all()
- 更多信息请花一分钟时间 check docs
例子
from bs4 import BeautifulSoup
html = '''
<img src="" alt="lower">
<IMG src="" alt="upper">
<iMG src="" alt="mixed">
'''
soup = BeautifulSoup(html)
soup.find_all('img')
输出
[<img alt="lower" src=""/>,
<img alt="upper" src=""/>,
<img alt="mixed" src=""/>]