我需要获取特定H1类文本的div类内的信息。下面是HTML代码:
html
<head>
</head>
<body>
<h1 class="SAyv5">WHO Coronavirus disease (COVID-19) situation reports</h1>
<div> This content1 I need </div>
<div> This content2 I need </div>
<div> This content3 I need </div>
<p>This is my first page.</p>
<h1>A secondary header.</h2>
<div> This content4 I need </div>
<p>Some more text.</p>
</body>
在这里,我只需要H1标签文本“ WHO冠状病毒病(COVID-19)状况报告”下的div类内容。同样,有多个H1标签,但我只需要访问它们一个H1标签文本。 我必须使用“ WHO冠状病毒病(COVID-19)状况报告”文本来访问它们。
答案 0 :(得分:0)
如果您需要在CSS中访问它们,这就是我的解决方法。
html
<head>
</head>
<body>
<div id="content1Container">
<h1 class="SAyv5">WHO Coronavirus disease (COVID-19) situation reports</h1>
<div> This content1 I need </div>
<div> This content2 I need </div>
<div> This content3 I need </div>
</div>
<div id="otherContentContainer">
<p>This is my first page.</p>
<h1>A secondary header.</h2>
<div>This content4 I need</div>
<p>Some more text.</p>
</div>
</body>
CSS
#content1Container div{
background-color: red;
}
答案 1 :(得分:0)
如果我对您的理解正确,那么您可能正在寻找这样的东西:
ht = """your html above, fixed"""
from bs4 import BeautifulSoup as bs
soup = bs(ht,'lxml')
targets = soup.find_all('h1',string="WHO Coronavirus disease (COVID-19) situation reports")
for target in targets:
for t in target.fetchNextSiblings('div'):
print(t.text)
这应该输出<div>
元素之后的所有<h1>
元素的文本,并带有所需的文本。