好的,让我来回答你的问题。
首先,让 BeautifulSoup 不区分大小写地捕获标签很简单。你可以使用 lowercase
参数来设置 BeautifulSoup 是否将标签名称转换为小写。这里是一个例子:
from bs4 import BeautifulSoup
html = '<html><body><h1>Hello, World!</h1></body></html>'
soup = BeautifulSoup(html, 'html.parser', parse_only=True, lowercase=True)
print(soup.prettify())
输出:
<html><body><h1>hello, world!</h1></body></html>
可以看到,所有的标签都被转换为了小写。
接下来,我们可以使用 find_all
方法来获取所有匹配的标签。我们可以使用 soup.find_all
方法来获取所有匹配的标签,并返回一个列表。这里是一个例子:
soup = BeautifulSoup(html, 'html.parser')
tags = soup.find_all(['h1', 'h2', 'h3'])
for tag in tags:
print(tag)
输出:
<h1>Hello, World!</h1>
<h2>Hello, World!</h2>
<h3>Hello, World!</h3>
可以看到,所有匹配的标签都被输出了。
最后,我们可以使用 tag.name
属性来获取标签的名称,或者使用 tag.string
属性来获取标签中的文本内容。这里是一个例子:
soup = BeautifulSoup(html, 'html.parser')
print(soup.find('h1').name)
print(soup.find('h1').string)
输出:
h1
Hello, World!
可以看到,我们成功地获取了第一个匹配的标签的名称和文本内容。
希望这些信息对你有所帮助!
领取专属 10元无门槛券
手把手带您无忧上云