从网络请求中我得到了这个答案:
<table>
<tr>
<td style="font-size:110%;color:blue;font-weight:bold">quiero</td>
<td style="font-style:italic;">categoría <b>AUX</b></td>
<td style="font-style:italic;">lema <b>QUERER</b></td>
<td style="font-style:italic;">rasgos <b> singular 1 presente indicativo </b></td>
</tr>
<tr>
<td style="font-size:110%;color:blue;font-weight:bold">ser</td>
<td style="font-style:italic;">categoría <b>V</b></td>
<td style="font-style:italic;">lema <b>SER</b></td>
<td style="font-style:italic;">rasgos <b> infinitivo </b></td>
</tr>
<tr>
<td style="font-size:110%;color:blue;font-weight:bold">el</td>
<td style="font-style:italic;">categoría <b>ART</b></td>
<td style="font-style:italic;">lema <b>EL</b></td>
<td style="font-style:italic;">rasgos <b> masculino singular </b></td>
</tr>
<tr>
<td style="font-size:110%;color:blue;font-weight:bold">mejor</td>
<td style="font-style:italic;">categoría <b>ADJ</b></td>
<td style="font-style:italic;">lema <b>MEJOR</b></td>
<td style="font-style:italic;">rasgos <b> singular </b></td>
</tr>
</table>
但是我只想获取<b>
标记内的所有内容。有最佳的方法吗?据我所知,我只能使用.split
来实现它,但我认为这不是一种非常优雅或非常理想的实现方式
这是我想要的输出:
v
SER
infinitivo
ART
El
masculino singular
.
.
.
这是我对请求的字符串响应
答案 0 :(得分:0)
您可以使用html.parser
from html.parser import HTMLParser
class BExtractor(HTMLParser):
def __init__(self, *args, **kwargs):
super(BExtractor, self).__init__(*args, **kwargs)
self.is_b = True
def handle_starttag(self, tag, attrs):
if tag == "b":
self.is_b = True
def handle_endtag(self, tag):
self.is_b = False
def handle_data(self, data):
if self.is_b:
print(data)
parser = BExtractor()
parser.feed("""html""")