使用BeautifulSoup时,html在某些搜索结果中需要不同索引号的数据

问题描述 投票:1回答:1

我遇到网站格式的问题,导致容器中的某些信息从一个搜索结果到下一个搜索结果具有不同的索引号。

我正在搜索搜索结果中的数据。在少数情况下,位置/索引号是不同的。

基本上,我需要从下面的html中删除的确切文本是“7XB21”。

<dl class="last">
    ::before
    <dt>Part Code:</dt>
    <dd>
        "7XB21"
        <span class="separator">,</span>
    < /dd>
    <dt>Weight:</dt>
    <dd>97</dd>
</dl>

使用下面的Python代码很容易做到,因为它让我得到了我需要的结果“7XB21”

modelcode_container = container.find_all("dd")
        modelcode = (modelcode_container[5].text)
 

然而!一些HTML代码虽然结构相同,但缺少上述示例所显示的一些信息。这是麻烦的HTML的一个例子:

<dl class="last">
    <dt>Stock id:</dt>
    <dd>c12
        <span class="separator">,</span>
    </dd>
    <dt>Part Code:</dt>
    <dd>
        "8B727"
        <span class="separator">,</span>
    </dd>
    <dt>Weight:</dt>
    <dd>102</dd>
</dl>

你看得到差别吗?我需要指定一个不同的索引号来捕获正确的数据,在这种情况下是“8B727”。

我不确定如何设置,任何帮助将不胜感激。谢谢!

python html beautifulsoup findall
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.