dinsdag 17 juli 2007

Web screen scraping

Bij Twice werk ik als docent ook als importeur van een aantal websites. De meeste websites benader ik met de WebRequest class en kan ik via strings en regular expressions alles vinden. Meestal ben ik met
een druk op een knop en een kwartiertje wachten klaar. Soms vinden websites het echter nodig om zichzelf een nieuw uiterlijk aan te meten en dan werken mijn regex niet meer goed.

Eens in de zoveel tijd veranderd er een website zo heftig dat het niet meer leuk is.
Sommige moderne websites werken met sessies en als dat nog niet erg genoeg is zijn sommige websites gebaseerd op javascript en .Net technologien (ajax ben ik nog niet echt tegen gekomen)

Bij sommige websites kan ik niet met de webrequest aan de gang maar moet ik met de WebBrowser control werken. De webbrowser control biedt de mogelijkheid om in de DOM van het html document te werken en javascript goed uit te voeren. Verder zorgt de webbrowser er voor dat post en put informatie automatisch goed terecht komt.

Voor de selectie van een dropdown list en het klikken van een A link heb ik de volgende code gebruikt:

'Laad het juiste element (id=quickCountry)O
Dim countryList As HtmlElement = wbsap.Document.GetElementById("quickCountry")
'deselecteer alle elementen
For Each s As HtmlElement In countryList.All
s.SetAttribute("selected", "")
Next
'selecteer NL ->element 23
countryList.All.Item(23).SetAttribute("selected", "True")


Het direct aanpassen van de countrylist naar een element
countryList.InnerText = "

Geen opmerkingen: