如何从HTML代码中打印表格中的空数据?
我正在使用Python中的HTMLParser模块,通过解析HTML页面来打印表格数据。但是,我无法在表格中打印出空字段。
这是我正在使用的代码:
class MyParser(HTMLParser):
def __init__(self, data ):
HTMLParser.__init__(self)
self.feed(data)
def handle_data(self, data):
print "result -->", data
m = MyParser("""<p>105</p><p></p>""")
结果 --> 105
我可以打印第一个标签之间的数据<p>105</p>
。但我想打印第二个标签之间的空数据<p></p>
。我该怎么做呢?
HTMLPAGE = """<p>105</p></td><td style="width:50px; word-wrap: break-word;"><p style="width: 8em; padding-left: 0px; padding-right: 0px; margin: 0pt;"></p></td><td style="width:50px; word-wrap: break-word;">"""
我想把数据打印为空字符串("")。有没有人能帮帮我?..
1 个回答
0
好吧,如果你真的需要这样做,可以试试用 handle_endtag
:
class MyParser(HTMLParser):
def __init__(self, data ):
HTMLParser.__init__(self)
self.data = ""
self.feed(data)
def handle_data(self, data):
self.data = data
def handle_endtag(self, tag, attrs):
print "result -->", self.data
self.data = ""
m = MyParser("""<p>105</p><p></p>""")
这样每次标签结束的时候,你就会打印出里面的数据。不过,这样做会把 <p><p></p></p>
当作两次“空数据”来处理,也就是在每个标签结束之前都会打印一次空数据。如果这和你想要的差不多(但又不完全一样),可以花点时间试试 handle_starttag
,这样你的代码就能按照你想要的方式运行了。