Html2Xhtml & Screen Scraping

HTML.pngWil je echt leuk informatie van het web plukken dan is die vaak niet toegankelijk via RSS. Neem bijvoorbeeld de site jaap.nl. Zoek je een koophuis dan moet je bij Jaap zijn en niet meer bij Funda. Want wat doet Jaap, Jaap scraped alle webpagina’s van Funda om de inhoud vervolgens op hun eigen website te publiceren. Scrapen is een methode om de voor jou doel relevante gegevens uit een (in dit geval) webpagina “te vissen”. Beleg je, dan is het bijvoorbeeld leuk om aan koersinformatie te komen. Denk maar niet dat die als RSS beschikbaar is. De gegevens zijn wel beschikbaar op openbaar toegankelijke webpagina’s van bijvoorbeeld morningstar.nl.

Nu is het voordeel van RSS dat het een XML standaard is en XML is gemakkelijk te gebruiken. HTML is echter een heel ander verhaal. HTML stelt lagere eisen aan consistentie en is daarom ook moeilijker te intepreteren. Wil je een HTML scrapen dan kun je voor de optie kiezen dit met behulp van regular expressions te doen. Ik heb zelf echter altijd het probleem dat ik vergeet hoe de syntax ook al weer was voor bepaalde zoekcriteria. Enkele jaren geleden heb ik daarom een setje klasses geschreven die HTML naar XML converteren. (Onder dit artikel vind je een link naar de download) Vervolgens kun je de gegevens in de HTML gemakkelijk parsen met behulp van bijvoorbeeld een XmlDocument object. Let op, het is geen rocket science maar het werkt en ik ben nog geen pagina tegengekomen die niet met de klasses kon worden geintepreteerd. Het is geen probleem als tags in de HTML die je om wil zetten niet worden gesloten (zoals bijv <P> of <BR>). De classes zorgen zelf dat dit op de juiste manier in de XML wordt afgehandeld.

Hoe werkt het?

Vervolgens kun je je uitleven op elke willekeurige pagina, van het KNMI tot flitsinformatie.

Download Html2XHtml.zip