使用bs4 python查找具有特定子标记的标记
我有一个html在下面的格式使用bs4 python查找具有特定子标记的标记,python,html,beautifulsoup,Python,Html,Beautifulsoup,我有一个html在下面的格式 <div class="consider"> <div class="row"> <p>Text1</p> </div> </div> <div class="consider"> <h2>Hello</h2> </div> <div class="Consider"> <div
<div class="consider">
<div class="row">
<p>Text1</p>
</div>
</div>
<div class="consider">
<h2>Hello</h2>
</div>
<div class="Consider">
<div class="row">
<p>Text2
</div>
</div>
我只想在其子tagdiv的类为row的情况下获取tag div,这是访问它的方式:
from bs4 import BeautifulSoup
content = '<div class="consider"><div class="row"><p>Text1</p></div></div><div class="consider"><h2>Hello</h2></div><div class="Consider"><div class="row"><p>Text2</p></div></div>'
soup = BeautifulSoup(content, 'lxml')
for div in soup.find_all('div', class_='row'):
if div.parent.name == "div":
#do whatever you want with div.parent which is the element you want.
通过选择'div>div.row',我们选择所有具有类行的div标记作为div标记的直接子级,然后通过列表理解,我们选择这些标记的所有父级:
data = '<div class="consider"><div class="row"><p>Text1</p></div></div><div class="consider"><h2>Hello</h2></div><div class="Consider"><div class="row"><p>Text2</p></div></div>'
from bs4 import BeautifulSoup
soup = BeautifulSoup(data, 'lxml')
divs = [div.parent for div in soup.select('div > div.row')]
print(divs)
产出:
[<div class="consider"><div class="row"><p>Text1</p></div></div>, <div class="Consider"><div class="row"><p>Text2</p></div></div>]
$'.row'.parent'div'类似于这样的内容您能详细说明一下您是否已尝试过全部查找?汤。找到所有的“div”,class='row'是的,但它只给你带row的div。但我想要它的父母