首页 > 解决方案 > 美丽的汤 - 如何获得

  • 来自 div 类的项目和
  • 问题描述

    输入数据如下,其中有多个ul相同的标签,可以在 python 美汤中抓取。

    <div class="column one-second"><p></p> <ul> <li>Commercial automobile</li> <li>Excess liability</li> <li>General liability</li> <li>Inland marine (cargo)</li> </ul> <p></p></div> <div class="column one-second"><p></p> <ul> <li>Professional Liability</li> <li>Property</li> <li>Workers’ compensation</li> </ul> <p></p></div>

    To get the listed items from `ul` tag using beautiful soup library, I tried this but did not work:
    
        amusements_soup.find_all('li', attrs={'id': 'menu-item-16'})
    
    
        amusements_soup.find_all('div',{'class':'column one-second'})
    
    
        ul = amusements_soup.find("h2", text="Services & Solutions").find_next_sibling("ul")
    
    expected output :
    
    > Commercial automobile
    > 
    > Excess liability
    > 
    > General liability
    >
    > Inland marine 
    >
    > Professional Liability
    > 
    > Workers’ compensation
    

    标签: pythonhtmlbeautifulsoup

    解决方案


    与使用列表理解的后代组合器的类和类型选择器相同

    results = [item.text for item in amusements_soup.select('.one-second li')]
    

    推荐阅读