如何使用BeautifulSoup4获取父项?

时间:2018-05-31 12:04:55

标签: python beautifulsoup strip-tags

我正在使用这个汤:

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

然后汤对象包含多个类似的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循环来做,并切片需要的小列表项来附加一个大的列表。但我认为,有更好,更简单的方法来做到这一点。

也许你有一些想法如何在我的案例中使用BeautifulSoup的强大功能?

1 个答案:

答案 0 :(得分:1)

请尝试以下方法: -

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])