beautifulsoup中的复合标签

时间:2017-04-19 00:51:16

标签: python beautifulsoup

我的代码如下:

<tr>
<td><b>Item 1</b></td>
<td>Name 1</td>
<td><i><b>Price 1</b></i></td>
</tr>
<tr>
<td><b>Item 2</b></td>
<td>Name 2</td>
<td><i><b>Price 2</b></i></td>
</tr>
<tr>
<td><b>Item 3</b></td>
<td>Name 3</td>
<td><i><b>Price 3</b></i></td>
</tr>

如何在BeautifulSoup的find_all语法中获得价格1,价格2,价格3的价值以及多个标签(<td><i><b>)?感谢任何解决方案。

我试过了:

&#13;
&#13;
import os
import sys
from bs4 import BeautifulSoup

baca = open("asal.html", "r").read()
soup = BeautifulSoup(baca, "html.parser")
saring = soup.find_all(['td','b'])
for a in saring:
	print a.text
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:1)

您可以使用CSS selector via select()方法根据祖先的层次结构选择元素,即选择父级为b且祖父母为i的{​​{1}}:

td