Python 使用HTMLParser获取带引号的属性

Python 使用HTMLParser获取带引号的属性,python,quotes,html-parser,Python,Quotes,Html Parser,我使用从各种网页获取数据,它工作得很好,我可以得到我想要的,除了以下属性: data-diffusion-title=""Soigner des gens ça rend malade"" 问题在于,它包含编码的引号字符,该字符被视为属性的结尾。因此,我们没有: name=data-diffusion-title value="Soigner des gens ça rend malade" 我得到多个名称/值(值均为空

我使用从各种网页获取数据,它工作得很好,我可以得到我想要的,除了以下属性:

data-diffusion-title=""Soigner des gens ça rend malade""
问题在于,它包含编码的引号字符,该字符被视为属性的结尾。因此,我们没有:

name=data-diffusion-title
value="Soigner des gens ça rend malade"
我得到多个名称/值(值均为空):

如何在不让HTMLPasser将编码的引号字符解释为引号的情况下获得完整属性


编辑:添加代码

class ExtractShowDataHTMLParser(HTMLParser):
    '''Extract shows data from the HTML extracted in ExtractShowsHTMLParser()
    '''
    def __init__(self):
        HTMLParser.__init__(self)
        self.title = ""
        self.show_url = ""
        self.show_date = None
        self.show_link_mp3 = ""
        self.show_id = ""

    def handle_starttag(self, tag, attrs):
        if 'button' == tag:
            for name, value in attrs:
                if 'data-diffusion-title' == name:
                    self.title = value
                elif 'data-diffusion-path' == name:
                    self.show_url = value
                elif 'data-url' == name:
                    self.show_link_mp3 = value
                elif 'data-xiti-id' == name:
                    self.show_id = value

    def handle_endtag(self, tag):
        pass

    def handle_data(self, data):
        pass

    def get_show_title(self):
        return self.title

    def get_show_url(self):
        return self.show_url

    def get_show_date(self):
        return self.show_date

    def get_show_audio_link(self):
        return self.show_link_mp3

    def get_show_id(self):
        return self.show_id

show_parser = ExtractShowDataHTMLParser()
show_parser.feed(show)

我不能复制这个。你能展示你的解析代码,以及在解析之前获取或处理html的代码吗?你的解析器对我有用。能否为
ExtractShowsHTMLParser
添加代码?@当您添加它时,请告诉我-谢谢。谢谢@snakecharmerb我的问题来自第一次提取数据,我通过使用:
div\u contents.replace(“,”)
来解决它,以便放回原始字符串
class ExtractShowDataHTMLParser(HTMLParser):
    '''Extract shows data from the HTML extracted in ExtractShowsHTMLParser()
    '''
    def __init__(self):
        HTMLParser.__init__(self)
        self.title = ""
        self.show_url = ""
        self.show_date = None
        self.show_link_mp3 = ""
        self.show_id = ""

    def handle_starttag(self, tag, attrs):
        if 'button' == tag:
            for name, value in attrs:
                if 'data-diffusion-title' == name:
                    self.title = value
                elif 'data-diffusion-path' == name:
                    self.show_url = value
                elif 'data-url' == name:
                    self.show_link_mp3 = value
                elif 'data-xiti-id' == name:
                    self.show_id = value

    def handle_endtag(self, tag):
        pass

    def handle_data(self, data):
        pass

    def get_show_title(self):
        return self.title

    def get_show_url(self):
        return self.show_url

    def get_show_date(self):
        return self.show_date

    def get_show_audio_link(self):
        return self.show_link_mp3

    def get_show_id(self):
        return self.show_id

show_parser = ExtractShowDataHTMLParser()
show_parser.feed(show)