Python - HTMLParser

Innholdsfortegnelse
Ved arbeid med parser i Python det anbefales at hvis vi jobber med dokumenter HTML bruk standard XHTML, siden sistnevnte er strengere når det gjelder håndtering av åpnings- og lukkekoder for elementer, med dette kan vi lage programmer lettere som kan tolke dette.
I Python vi har tilgjengelig HTMLParser, dette bør ikke forveksles med klassen med samme modulnavn htmllib, siden det første er en del av standardbiblioteket, når vi får et dokument fra Ryddig Vi kan bruke HMTLParser for å kunne bla gjennom innholdet.
Bruke HTMLParser
Bruke HTMLParser, det betyr virkelig å subklasse det, slik at vi kan overskrive metodene når det passer oss og dermed kunne oppfylle kravene våre. La oss se nedenfor en liste over de viktigste metodene vi får når vi bruker HTMLParser.
  • handle_starttag (tag, attrs): Når en start -tag er funnet attrs er en sekvens av par (navn, verdi).
  • handle_startendtag (tag, attrs): Brukes for tomme etiketter. Som standard håndterer den oppstart og nedleggelse separat.
  • handle_endtag (tag): Brukes når en avsluttende tag er funnet.
  • handle_data (data): Den brukes når vi finner tekstdata.
  • handle_charref (ref): Den brukes når du arbeider med tegnreferanser i skjemaet & # ref;.
  • handle_entityref (navn): Vi bruker det når vi har referanser til enheter i skjemaet & name;.
  • handle_comment (data): Det kalles bare når det er kommentert innhold.
  • handle_decl (dekl): Det brukes til deklarasjoner av skjemaet.
  • handle_pi (data): Den brukes til å behandle instruksjoner.
Når vi har sett de viktigste metodene for HTMLParserDeretter skal vi se et bilde med et kodeeksempel, og deretter vil vi forklare hva det består av:

FORSTØRRE

Det første vi legger merke til er at for dette Skraping av skjermen vi kommer ikke til å bruke RyddigDette er fordi HTML -en som vi skal inspisere ikke er dårlig utformet, så ser vi at det første vi erklærer er noen boolske variabler som vi vil kontrollere om vi er inne i et element H4 eller i et koblingselement eller en lenke.
Vi har noe spesielt med metoden handle_dataSiden vi er i et virkelige miljø, må vi forberede oss på de mest komplekse scenariene, og med dette mener vi at ettersom det er nesten sikkert at vi ikke vil få nødvendig informasjon om den første samtalen, forbereder vi denne metoden for å kunne få den i deler, når vi får alt vi gjør er å bli med i dataene.
Handlingen til programmet vårt begynner når vi kaller metoden feed () som vi sender teksten som er innholdet på nettsiden som vi får med metoden urlopen () og når alt dette er behandlet fortsetter vi å ringe close () -metoden.
Til slutt med dette oppnådde vi et program på Skraping av skjermen mer leselig enn å bruke vanlige uttrykk og litt mer robust i aspektet om at vi ikke begrenser oss til faste strukturer, med dette kan vi skaffe informasjonen vår riktig.
Med dette fullfører vi vår HTMLParser -opplæring, som vi kan se er det mange måter å komme til disse løsningene på, for å få informasjonen fra en webside.Likte og hjalp du denne opplæringen?Du kan belønne forfatteren ved å trykke på denne knappen for å gi ham et positivt poeng

Du vil bidra til utvikling av området, dele siden med vennene dine

wave wave wave wave wave