从一个web请求中,我得到了这样的答案:
<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
.
.
.这是我对请求的字符串响应
发布于 2019-03-18 01:00:20
您可以使用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""")https://stackoverflow.com/questions/55209479
复制相似问题