代码之家  ›  专栏  ›  技术社区  ›  Quanti Monati

如何使用美丽组4获取父项?

  •  0
  • Quanti Monati  · 技术社区  · 7 年前

    我用这个来泡汤:

    soup = BeautifulSoup(html, 'lxml').find("tbody").find_all("tr")
    

    然后soup对象包含多个类似的tr>对象,如下所示:

    <tr>
    <td class="table">115</td>
    <td>204</td>
    <td><div><span class="flag-icon"></span>  United States <span> NY </span></div></td>
    <td>brown</td>
    <td>up</td>
    <td class="table">groove</td>
    </tr>
    

    所以,我的目标是-从1,2,4中提取文本数据,并将它们放在一个小列表中。这样地:

    [115, 204, 'brown']
    

    当我从所有人那里得到所有的小名单后,我必须把它们都加到大名单上。这样地:

    [[115, 204, 'brown'], [32, 12, 'red'] ... [42, 87, 'yellow']]
    

    老实说,我使用了两个for循环,并将需要的小列表项切片以附加一个大列表。但我想,有更好更简单的方法来做到这一点。

    也许你有办法在我的情况下使用强大的美化团队的能力?

    1 回复  |  直到 7 年前
        1
  •  1
  •   nandal    7 年前

    尝试以下操作:

    rows = BeautifulSoup(html, 'lxml').find("tbody").find_all("tr")
    bigList = []
    for row in rows:
        tds = row.find_all("td")
        bigList.append([tds[0].text, tds[1].text, tds[3].text])