如何在许多<div>标签中查找?(靓汤)

2024-09-28 05:23:06 发布

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

我想在以下标记中查找内容:

<h4 id="rfq-info-header-id" class="pr-3 mb-3">
        RFQ1526090
      </h4>

enter image description here

完整代码:

<rfq-display-header-seller>
   <div class="card-body pb-0">
      <div class="row">
         <div id="rfq-info-header-col-1" class="col-xs-12 col-sm-12 col-md-12 col-lg-6">
            <div class="small text-muted">RFQ ID</div>
            <h4 id="rfq-info-header-id" class="pr-3 mb-3">
               RFQ1526090
            </h4>

我试过:

rfq_id = [tag.text.strip() for tag in soup.find_all(name='h4', attrs={'id': 'rfq-info-header-id','class': 'pr-3 mb-3'})]
print(rfq_id)

但这导致了空列表[]。 这是因为h4标签在许多标签中吗?如何简化代码以提取上述代码中标记内的数据


Tags: 代码text标记divinfoidtagcol
1条回答
网友
1楼 · 发布于 2024-09-28 05:23:06

我得到的输出如下:

from bs4 import BeautifulSoup

html_doc="""

<rfq-display-header-seller>
   <div class="card-body pb-0">
      <div class="row">
         <div id="rfq-info-header-col-1" class="col-xs-12 col-sm-12 col-md-12 col-lg-6">
            <div class="small text-muted">RFQ ID</div>
            <h4 id="rfq-info-header-id" class="pr-3 mb-3">
               RFQ1526090
            </h4>

"""

soup = BeautifulSoup(html_doc, 'html.parser')
# rfq_id = soup.find('h4').text
# print(rfq_id)

rfq_id = [t.get_text(strip=True) for t in soup.find_all('h4')]

print(rfq_id)

输出:

['RFQ1526090']

使用仅查找方法的输出:

RFQ1526090

相关问题 更多 >

    热门问题