<h3>
<span></span>
<span class='headline'>Headline #1</span>
</h3>
<table class='striped'></table>
<h4>
<span class='headline'>Headline #2</span>
</h4>
<table class='striped'></table>
<p>
<span class='headline'>Headline #3</span>
</p>
<ul></ul>
<center>
<table class='striped'></table>
</center>
这是我的结构。我正在枚举表格标签,并希望使用最接近我的表格的“标题”类检索跨度标签的文本值。通过“最近”我的意思是,如果你要展平 html,我想用一个类“标题”来定位跨度,如果你从表格的点开始,你会首先遇到它
有时这些跨度嵌套在 h3、有时是 h4、有时是 ap 标签中。有时 table 标签与 h3/h4/p 处于同一级别,有时它本身嵌套在 center 标签内。有时 h3/h4/p 标签是表的直接兄弟,有时不是。
如何使用 BeautifulSoup 查找最近的 span.headline,无论嵌套级别如何以及它是否嵌套在父级或兄弟级中?
到目前为止我有这个代码
tables = soup.findAll("table", {"class": ["striped"]})
for index, table in enumerate(tables):
headline = table.find_previous('h3').("span", {"class" : ["headline"]}).text
LEATH
相关分类