使用相同的Span标记从表中优化文本组

2024-05-15 04:17:11 发布

您现在位置:Python中文网/ 问答频道 /正文

使用beautifulsoup从表中提取文本时,我无法提取文本,因为同一个表中有多个文本

我使用了以下代码-

results = soup.find_all('span', class_="crux-body-copy crux-body-copy--small--bold")
results[0]

我得到以下结果

<span class="crux-body-copy crux-body-copy--small--bold">
LATCH connections
<span class="product-model-tooltip">
<span aria-hidden="true" class="crux-icons crux-icons-help-information"></span>
<span class="product-model-tooltip-window">
<span aria-hidden="true" class="crux-icons crux-icons-close"></span>
<span class="crux-body-copy crux-body-copy--small--bold">LATCH connections</span>
<span class="crux-body-copy crux-body-copy--small">Type of LATCH connection.
</span>
</span>
</span>
</span>

然后我试着得到文本

results[0].get_text()

给我

'\nLATCH connections\n\n\n\n\nLATCH connections\nType of LATCH connection.\n\n\n\n'

然后我用

results[0].get_text().replace('\n', '')

我得到

'LATCH connectionsLATCH connectionsType of LATCH connection.'

我只需要将“闩锁连接”和“闩锁连接类型”作为两列

你能帮忙吗


Tags: of文本bodyproductconnectionconnectionsresultsclass
1条回答
网友
1楼 · 发布于 2024-05-15 04:17:11

实际上,有很多方法可以做到这一点。一种方法是:

按类查找之后,您需要再次按相同的类名查找,如下所示

parent_span= soup.find('span', class_="crux-body-copy crux-body-copy small bold")
result = parent_span.find('span', class_="crux-body-copy crux-body-copy small bold")
print(result.text)

如果只想选取一个标记,则不需要使用find_all。只需使用find

相关问题 更多 >

    热门问题