HTMLParseError:标记部分中的未知状态关键字u'cadta',第1行,第54列

时间:2013-10-29 01:20:49

标签: python html-parsing

我收到以下错误消息

HTMLParseError: unknown status keyword u'cadta' in marked section, at line 1, column 54

当我尝试使用以下代码删除HTML标记时:

from HTMLParser import HTMLParser
class MLStripper(HTMLParser):
    def __init__(self):
        self.reset()
        self.fed = []

    def handle_data(self, d):
        self.fed.append(d)

    def get_data(self):
        return ''.join(self.fed)


def strip_tags(html):
    s = MLStripper()
    s.feed(html )
    return s.get_data()

通过调用strip_tags()

来获取此文本
how to Fetch data from an XML file with tags <title> <![CADTA[text here]]> </title>?

这里发生了什么,我该如何解决这个问题?

谢谢。

2 个答案:

答案 0 :(得分:2)

应该是CDATA,而不是CADTA。检查你的语法。

答案 1 :(得分:1)

我添加了一个Try / Except来捕获错误,只是不删除违规字符串的标记:

def strip_tags(html):
    s = MLStripper()

    try:
        s.feed(html.decode("utf-8"))
        return s.get_data()
    except:
        return html