我正在使用这个汤:
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的强大功能?
答案 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])