首页 > 解决方案 > 如何提取html li标签

问题描述

我想在 (li-label-span) 标签下提取特定的“英文”文本。我应该怎么做beautifulsoup?如果有人来帮忙......你能为这个特定问题写一些代码吗?

<div class="biblio-info-wrap">
                <h2 class="biblio-title">
                    Product details</h2>
                <ul class="biblio-info">

                    <li>
                            <label>Publication date</label>
                            <span itemprop="datePublished">18 Feb 2021</span>
                        </li>
                   
                    <li>
                            <label>Publication City/Country</label>
                            <span>
                                Edinburgh, United Kingdom</span>
                        </li>
                    ***<li>
                            <label>Language</label>
                            <span>
                                English</span>
                        </li>***
                    <li>
                            <label>Edition Statement</label>
                            <span>Main</span>
                        </li>
                    <li>
                            <label>ISBN10</label>
                            <span>1786892731</span>
                        </li>
    
                    </ul>
            </div>

标签: pythonbeautifulsoupscreen-scraping

解决方案


如果html_doc包含您问题中的 HTML 代码,您可以执行以下操作:

soup = BeautifulSoup(html_doc, "html.parser")

print(
    soup.find("label", text="Language").find_next("span").get_text(strip=True)
)

印刷:

English

或者使用 CSS 选择器:

print(
    soup.select_one('label:-soup-contains("Language") + span').get_text(
        strip=True
    )
)

推荐阅读