漂亮的汤在标签中找到标签
Beautiful soup finding tags within tags
我正在尝试创建一个单元测试,其中可以在 html 标签中找到 body 标签,我尝试进行以下测试,但由于某种原因我看到语法错误,我有正确设置 Beautiful Soup 等:
for tag in soup.find_all(re.compile("""<html.*><body.*></body></html>""")):
count+=1
self.assertEqual(count,1)
可以使用.parent
属性查看感兴趣的标签的父标签是什么:
html = '<html>\
<head>\
<title>Test</title>\
</head>\
<body>\
bla\
<a><body></body></a>\
</body>\
</html>\
<body>\
bla\
</body>'
from bs4 import BeautifulSoup
soup = BeautifulSoup(html, 'html.parser')
bodies = soup.findAll('body')
for body in bodies:
parent = body.parent.name
if ( parent == 'html' ):
print('Good! Parent = ' + body.parent.name)
else:
print('Uh oh! Parent = ' + body.parent.name)
示例文档包含一个 <body>
标签,它是 <html>
标签的子标签,一个嵌套在其他标签中,一个完全在文档之外。输出是这样的:
Good! Parent = html
Uh oh! Parent = a
Uh oh! Parent = [document]
我正在尝试创建一个单元测试,其中可以在 html 标签中找到 body 标签,我尝试进行以下测试,但由于某种原因我看到语法错误,我有正确设置 Beautiful Soup 等:
for tag in soup.find_all(re.compile("""<html.*><body.*></body></html>""")):
count+=1
self.assertEqual(count,1)
可以使用.parent
属性查看感兴趣的标签的父标签是什么:
html = '<html>\
<head>\
<title>Test</title>\
</head>\
<body>\
bla\
<a><body></body></a>\
</body>\
</html>\
<body>\
bla\
</body>'
from bs4 import BeautifulSoup
soup = BeautifulSoup(html, 'html.parser')
bodies = soup.findAll('body')
for body in bodies:
parent = body.parent.name
if ( parent == 'html' ):
print('Good! Parent = ' + body.parent.name)
else:
print('Uh oh! Parent = ' + body.parent.name)
示例文档包含一个 <body>
标签,它是 <html>
标签的子标签,一个嵌套在其他标签中,一个完全在文档之外。输出是这样的:
Good! Parent = html
Uh oh! Parent = a
Uh oh! Parent = [document]