Saya menggunakan perpustakaan HTMLParser Python 2.7 untuk memproses dan mengekstrak beberapa informasi dari konten HTML yang diambil dari url jarak jauh. Saya tidak begitu mengerti bagaimana mengetahui atau mengetahui momen yang tepat ketika instance parser selesai mengurai data HTML.
Implementasi dasar kelas parser saya terlihat seperti ini:
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()
Pertanyaan saya adalah, bagaimana saya bisa mendeteksi bahwa proses parsing sudah selesai?
Terima kasih.