使用标准Python HTMLParser刮取HTML表
我希望只使用标准的Python HTML解析器从HTML表中提取数据。我需要坚持使用库存工具,因为代码将被广泛分发,我不能花时间支持那些需要安装BeautifulSoup、lxlml等的人 例如,HTML代码:使用标准Python HTMLParser刮取HTML表,python,html,html-parsing,Python,Html,Html Parsing,我希望只使用标准的Python HTML解析器从HTML表中提取数据。我需要坚持使用库存工具,因为代码将被广泛分发,我不能花时间支持那些需要安装BeautifulSoup、lxlml等的人 例如,HTML代码: - 2015-03-10 11:25 56K . . .找到了答案。需要在解析器中创建一个计数器,以便在从HTTP表中向解析器提供信息时记录日志。还使用if语句处理异常(例如目录和其他不需要的HREF)。 class MyHTMLParser(HTMLParser): def
-
2015-03-10 11:25
56K
.
.
.
找到了答案。需要在解析器中创建一个计数器,以便在从HTTP表中向解析器提供信息时记录日志。还使用if语句处理异常(例如目录和其他不需要的HREF)。
class MyHTMLParser(HTMLParser):
def __init__(self):
HTMLParser.__init__(self)
self.inLink = False
self.dataList = []
self.directory = '/'
self.indexcol = ';'
self.Counter = 0
def handle_starttag(self, tag, attrs):
self.inLink = False
if tag == 'table':
self.Counter += 1
if tag == 'a':
for name, value in attrs:
if name == 'href':
if self.directory in value or self.indexcol in value:
break
else:
self.inLink = True
self.lasttag = tag
def handle_endtag(self, tag):
if tag == 'table':
self.Counter +=1
def handle_data(self, data):
if self.Counter == 1:
if self.lasttag == 'a' and self.inLink and data.strip():
self.dataList.append(data)
parser = MyHTMLParser()