要使用BeautifulSoup 4在没有标识符的情况下查找文本,可以使用find_all()
方法并结合正则表达式来匹配文本内容。以下是一个示例代码:
from bs4 import BeautifulSoup
import re
html = '''
This is a paragraph.
This is another paragraph.
This is a nested paragraph.
This is the last paragraph.
'''
soup = BeautifulSoup(html, 'html.parser')
# 使用正则表达式匹配文本内容
pattern = re.compile("This is")
# 使用find_all()方法查找所有匹配的文本
result = soup.find_all(text=pattern)
for text in result:
print(text)
输出结果为:
This is a paragraph.
This is another paragraph.
This is a nested paragraph.
This is the last paragraph.
在上述代码中,我们首先创建了一个BeautifulSoup
对象,并使用find_all()
方法查找所有匹配正则表达式"This is"
的文本内容。然后,我们遍历结果并打印匹配的文本。
请注意,通过这种方式查找文本,可能会返回一些不希望的结果,因为它会查找整个HTML文档的文本内容。如果只想在特定的标签中查找文本,可以结合使用标签选择器和正则表达式来实现更精确的匹配。