BS4 按 class 查找项目

BS4 find item by class

我正在尝试制作一个简单的网络抓取工具 我有一个类似这样的 htm 文件:

    <!DOCTYPE html>
    <title>some text</title>
    <div class="ui-box-title">Item specifics</div>
     <ul>
      <li>Coffee</li>
      <li>Tea</li>
      <li>Milk</li>
    </ul> 
    <div class="description">Item specifics</div>
      <li>not interesting</li>
      <li>not interesting</li>
      <li>not interesting</li>
    ...

如何只提取咖啡茶和牛奶?我试过了

    allaftuibox=soup.find_all_next("div", { "class" : "ui-box-title" }):
    allaftuibox.find_all("ul")

但是 allaftuibox 是空的。我在哪里犯错误?我如何只提取 ul? 有人可以帮我吗?

出乎意料的简单。 我设法提取了中间部分:

for every in soup.findAll("div"):
            if "Product Description" in every:
                itsp=True
            if itsp:
                #print every
                #print every.find('img', {'class': 'sizedProdImage'})
                #desc.append(every)
                acv=0
            if "Packaging Details" in every:
                itsp=False

我不确定这是否是最优雅或最有效的解决方案,但它确实有效。 第二个错误是使用 class 查找全部。由于某种我不明白的原因,这在速卖通中根本不起作用。解决方案是搜索文本。

ntdesc=soup.find("span",text="Unlock Phones:").find_all_next()