Lors de l'utilisation de la classe HTMLParser
en Python, est-il possible d'abandonner le traitement dans une fonction handle_*
? Au début du traitement, j'obtiens toutes les données dont j'ai besoin, ce qui me semble une perte de continuer à traiter. Voici un exemple d'extraction de la description de méta pour un document.Abandonner le traitement HTMLParser en Python
from HTMLParser import HTMLParser
class MyParser(HTMLParser):
def handle_start(self, tag, attrs):
in_meta = False
if tag == 'meta':
for attr in attrs:
if attr[0].lower() == 'name' and attr[1].lower() == 'description':
in_meta = True
if attr[0].lower() == 'content':
print(attr[1])
# Would like to tell the parser to stop now,
# since I have all the data that I need
ne devriez-vous pas hériter HTMLParser et pas Parser? –
Oh, et je recommande vraiment BeautifulSoup pour l'analyse HTML - il est beaucoup plus facile à utiliser –
Je pense qu'il est facile de parvenir à une conclusion, qu'il s'agit simplement d'une faute de frappe. Parce que si ce n'était pas ce code ne fonctionnerait pas. – shylent