使用python解析/提取表数据

时间:2011-07-14 08:20:48

标签: python html

<html> 
<table border="1px"> 
<tr>
<td>yes</td>
<td>no</td>
</tr>
</table>
</html>

除了beautifulsoup之外,还有什么办法可以获得表格的内容(是的,没有)吗?

蟒蛇初学者,任何帮助或任何方向都会有很大的帮助。

谢谢

1 个答案:

答案 0 :(得分:12)

您可以使用Python标准库附带的HTMLParser模块。

>>> import HTMLParser
>>> data = '''
... <html> 
... <table border="1px"> 
... <tr>
... <td>yes</td>
... <td>no</td>
... </tr>
... </table>
... </html>
... '''
>>> class TableParser(HTMLParser.HTMLParser):
...     def __init__(self):
...         HTMLParser.HTMLParser.__init__(self)
...         self.in_td = False
...     
...     def handle_starttag(self, tag, attrs):
...         if tag == 'td':
...             self.in_td = True
...     
...     def handle_data(self, data):
...         if self.in_td:
...             print data
...     
...     def handle_endtag(self, tag):
...         self.in_td = False
... 
>>> p = TableParser()
>>> p.feed(data)
yes
no