<tr>
<td style="color: #0000FF;text-align: center"><p>Sam<br/>John<br/></p></td>
</tr>
我正在使用 python HTMLParser 模块从下面的 html 片段中提取值 Sam 和 John,但是handle_data函数只捕获 Sam 而不是 John。
我怎样才能同时得到山姆和约翰?
<tr>
<td style="color: #0000FF;text-align: center"><p>Sam<br/>John<br/></p></td>
</tr>
我正在使用 python HTMLParser 模块从下面的 html 片段中提取值 Sam 和 John,但是handle_data函数只捕获 Sam 而不是 John。
我怎样才能同时得到山姆和约翰?
True
您可以拥有一个具有/值的实例级变量False
。将其设置为True
如果p
标签开始,False
如果p
标签结束。当值为 时True
,获取handle_data()
方法中的数据:
from HTMLParser import HTMLParser
data = """
<tr>
<td style="color: #0000FF;text-align: center"><p>Sam<br/>John<br/></p></td>
</tr>
"""
class Parser(HTMLParser):
def __init__(self):
HTMLParser.__init__(self)
self.recording = False
def handle_starttag(self, tag, attrs):
if tag == 'p':
self.recording = True
def handle_endtag(self, tag):
if tag == 'p':
self.recording = False
def handle_data(self, data):
if self.recording:
print data
parser = Parser()
parser.feed(data)
印刷:
Sam
John