如何使用python HTMLPasser提取HTML标记内容

如何使用python HTMLPasser提取HTML标记内容,python,html,Python,Html,我正在处理HTML页面,最后得到了如下行: <td class="border">AAA</td><td class="border">BBB</td> 我需要使用HTMLParser将AAA和BBB提取到变量WW中,但我不知道如何简单地完成。 我不能使用任何其他解析器,因为我在python工具方面受到限制。 任何帮助都将不胜感激。这将打印TD标签内的数据: from HTMLParser import HTMLParser inTD = Fa

我正在处理HTML页面,最后得到了如下行:

<td class="border">AAA</td><td class="border">BBB</td>
我需要使用HTMLParser将AAA和BBB提取到变量WW中,但我不知道如何简单地完成。 我不能使用任何其他解析器,因为我在python工具方面受到限制。
任何帮助都将不胜感激。

这将打印TD标签内的数据:

from HTMLParser import HTMLParser

inTD = False

# create a subclass and override the handler methods
class MyHTMLParser(HTMLParser):
    def handle_starttag(self, tag, attrs):
        global inTD
        if tag.upper() == "TD":
            inTD = True
    def handle_endtag(self, tag):
        global inTD
        if tag.upper() == "TD":
            inTD = False
    def handle_data(self, data):
        global inTD
        if inTD:
            print data

非常感谢您的回答,这个例子无处不在。不过,我觉得这并不简单。我混淆了这样一个事实:为了做最简单的事情,为了这个模块的目的,我需要创建子类并用一些东西重写一些东西。我希望有一个更简单的方法来做这件事,或者我将只使用regexp来解析。做你想做的,但是a除了保存项目,这做你想做的,b它已经编写好了,c它只有大约20行代码。你知道HTML一般不能被正则表达式正确解析,对吗?这就是HTMLPasser这样的东西存在的原因。用某种东西重写什么意思?非常感谢您的解释。我正在写一个简单的脚本,同时尝试学习python,这就是为什么我不打算复制粘贴我不完全理解的代码行。我不想挖得太深,因为脚本非常简单,实际上可以写在shell上。用一些东西重写一些东西——我想把答案缩短一点。无意冒犯。为什么在这里使用全局成员而不是类成员?似乎完全不合适。