我想获取没有嵌套标签的html文件标签数据(首选:BeautifulSoup基本解决方案),但是正则表达式也可以工作 例如:
`<li><p>HELLO1</p></li > <li>HELLO2</li><p>HELLO3</p>`
answer
HELLO1 HELLO2 HELLO3
我尝试使用正则表达式,但是没有找到用于汤对象的方法 str(soup).replace(“
”,“
”)
tags = soup.find_all(['p','li'])
it returns:
< p >HELLO1< /p >,
HELLO1 ,
HELLO2 ,
HELLO3
如果有li和p标签被嵌套,则结果应仅显示一次或应删除一个嵌套标签。 例如:如果
XYZ
答案 0 :(得分:1)
您可以使用.get_text()
方法:
data = '''<li><p>HELLO1</p></li > <li>HELLO2</li><p>HELLO3</p>'''
from bs4 import BeautifulSoup
soup = BeautifulSoup(data, 'html.parser')
print(soup.get_text(separator=' ', strip=True))
打印:
HELLO1 HELLO2 HELLO3