Python - HTMLParser

Inhoudsopgave
Bij het uitvoeren van werkzaamheden met de parser in Python het wordt aanbevolen dat als we met documenten werken HTML gebruik standaard XHTML, aangezien dit laatste strenger is als het gaat om het omgaan met de openings- en sluitingstags van elementen, hiermee kunnen we gemakkelijker programma's maken die dit kunnen interpreteren.
In Python we hebben beschikbaar HTMLParser, dit moet niet worden verward met de klasse met dezelfde modulenaam htmllib, aangezien de eerste deel uitmaakt van de standaardbibliotheek, wanneer we een document verkrijgen van Netjes we kunnen gebruiken HMTLarser om door de inhoud ervan te kunnen bladeren.
HTMLParser gebruiken
Gebruik de HTMLParser, het betekent echt dat we het moeten subclasseren, zodat we de methoden op ons gemak kunnen overschrijven en dus aan onze vereisten kunnen voldoen, laten we hieronder een lijst zien van de belangrijkste methoden die we verkrijgen bij het gebruik HTMLParser.
  • handle_starttag (tag, attrs): Wanneer een starttag wordt gevonden, is attrs een reeks paren (naam, waarde).
  • handle_startendtag (tag, attrs): Gebruikt voor lege labels. Standaard behandelt het opstarten en afsluiten afzonderlijk.
  • handle_endtag (tag): Wordt gebruikt wanneer een afsluitende tag wordt gevonden.
  • handvat_data (gegevens): Het wordt gebruikt wanneer we tekstuele gegevens vinden.
  • handvat_charref (ref): Het wordt gebruikt bij het werken met tekenreferenties van de vorm & # ref;.
  • handle_entityref (naam): We gebruiken het wanneer we verwijzingen hebben naar entiteiten met de vorm & naam ;.
  • handvat_comment (gegevens): Het wordt alleen aangeroepen als er becommentarieerde inhoud is.
  • handvat_decl (decl): Het wordt gebruikt voor declaraties van het formulier.
  • handvat_pi (gegevens): Het wordt gebruikt om instructies te verwerken.
Zodra we de belangrijkste methoden van HTMLParserVervolgens gaan we een afbeelding zien met een codevoorbeeld en dan zullen we uitleggen waar deze uit bestaat:

VERGROTEN

Het eerste wat ons opvalt is dat hiervoor Scherm schrapen we gaan niet gebruiken NetjesDit komt omdat de HTML die we gaan inspecteren niet slecht gevormd is, dan zien we dat het eerste dat we declareren enkele Booleaanse variabelen zijn waarmee we zullen controleren of we ons binnen een element bevinden H4 of binnen een linkelement of link.
We hebben iets in het bijzonder met de methode handle_dataOmdat we ons in een echte omgeving bevinden, moeten we ons voorbereiden op de meest complexe scenario's en hiermee bedoelen we dat, aangezien het vrijwel zeker is dat we niet de benodigde informatie bij de eerste oproep zullen krijgen, we deze methode voorbereiden om deze te kunnen verkrijgen in delen, als we eenmaal hebben, hoeven we alleen maar de gegevens samen te voegen.
De actie van ons programma begint wanneer we de methode noemen voer () waaraan we de tekst doorgeven die de inhoud is van de webpagina die we verkrijgen met de methode urlopen () en wanneer dit alles is verwerkt, gaan we verder met het aanroepen van de methode close ().
Hiermee hebben we uiteindelijk een programma van Scherm schrapen leesbaarder dan het gebruik van reguliere expressies en iets robuuster in die zin dat we ons niet beperken tot vaste structuren, hiermee kunnen we onze informatie correct verkrijgen.
Hiermee ronden we onze HTMLParser-tutorial af, zoals we kunnen zien, zijn er veel manieren om bij deze oplossingen te komen, om de informatie van een webpagina te verkrijgen.Vond je deze tutorial leuk en hielp je hem?Je kunt de auteur belonen door op deze knop te drukken om hem een ​​positief punt te geven

U zal helpen de ontwikkeling van de site, het delen van de pagina met je vrienden

wave wave wave wave wave