Python HTMLPasser检测数据结束

Python HTMLPasser检测数据结束,python,html-parsing,Python,Html Parsing,我正在使用Python2.7的HTMLParser库来处理和提取一些信息 从远程url获取的HTML内容。我不太明白如何知道或捕捉解析器实例完成HTML数据解析的确切时刻 我的解析器类的基本实现如下所示: class MyParser(HTMLParser.HTMLParser): def __init__(self, url): self.url = url self.users = set() def start(self):

我正在使用Python2.7的HTMLParser库来处理和提取一些信息 从远程url获取的HTML内容。我不太明白如何知道或捕捉解析器实例完成HTML数据解析的确切时刻

我的解析器类的基本实现如下所示:

class MyParser(HTMLParser.HTMLParser):
    def __init__(self, url):
        self.url = url
        self.users = set()

    def start(self):
        self.reset()
        response = urllib3.PoolManager().request('GET', self.url)
        if not str(response.status).startswith('2'):
            raise urllib3.HTTPError('HTTP error here..')
        self.feed(response.data.decode('utf-8'))

    def handle_starttag(self, tag, attrs):
        if tag == 'div':
            attrs = dict(attrs)
            if attrs.get('class') == 'js_userPictureOuterOnRide':
                user = attrs.get("data-name")
                if user:
                    self.users.add(user)

    def reset(self):
        HTMLParser.HTMLParser.reset(self)
        self.users.clear()
我的问题是,如何检测解析过程是否已完成


谢谢。

HTMLParser
是同步的,也就是说,一旦它从
feed
返回,到目前为止所有数据都已被解析,所有回调都被调用

    self.feed(response.data.decode('utf-8'))
    print 'ready!'
(如果我误解了你的问题,请告诉我)