Ik zit al een hele tijd te brainstormen over een mogelijk algoritme voor een probleem wat ik voor mijn neus heb liggen. Ik heb een hele grote stapel webpagina's die ik allemaal door een stapel operaties wil halen zodat ik de data uit het document haal wat ik interessant vind. Nu klinkt dit vrij simpel in eerst instantie maar er komt meer bij kijken.
Een vergelijkbare situatie zou kunnen zijn: een aantal webwinkels. De enigste url die ik heb is een overzicht van de beschikbare categorien. De spider zou dus alle links moeten volgen (binnen hetzelfde domein) totdat hij op een product pagina terecht komt. Deze product pagina zal er bij iedere webwinkel weer anders uitzien. Immers hebben niet alle webwinkels dezelfde layout + achterliggende html code (toch jammer
)
We gaan er even vanuit dat die product pagina's het volgende bevatten:
- Productomschrijving
- Aantal kenmerken + de bijbehorende waarde (bijvoorbeeld: Kloksnelheid = 2.4 Ghz, Geheugen = 512Mb). Dit is telkens een combinatie van 2 waardes. De naam van het kenmerk en de waarde bij het kenmerk.
Het algoritme zou in staat moeten zijn om het volgende te doen voor iedere mogelijke webwinkel. Het moet dus een universeel algoritme zijn. Er moeten geen templates aan te pas komen of wat dan ook.
- Beginnen bij het categorie overzicht
- Linkjes (binnen hetzelfde domein) volgen totdat hij bij een product overzicht komt
- Alle links naar productinfo pagina's op deze pagina volgen
- Per productinfo pagina mij een lijst geven met kenmerken van dat product + een productomschrijving
Dit hele verhaal moet grotendeels zonder menselijke tussenkomst komen te functioneren. Ik heb zitten spelen met het idee om een aantal pagina's uit dezelfde categorie te diff'en om zo de dynamische van de statische content te scheiden. Immers, de html die de layout genereerd zal vrijwel 100% hetzelfde blijven en is niet van belang.
Echter hou je dan nog een blok rotzooi over. Dit blok rotzooi bevat zowel HTML als de data waar ik interesse in heb (omschrijving + kenmerken). Hoe bak ik een parser die in staat is te onderscheiden of het een kenmerk is en dan ook nog eens in staat is de juiste waarde er bij te zoeken.
Lijkt me een leuke opgave voor de /14 mensjes op de vroege dinsdagochtend om hier een algoritme voor te bedenken
Ik heb er iig een hele tijd naar zitten kijken en ik zie hem nog niet. Alle hints zijn welkom. Externe programma's die het werk voor me doen mag natuurlijk ook
Een vergelijkbare situatie zou kunnen zijn: een aantal webwinkels. De enigste url die ik heb is een overzicht van de beschikbare categorien. De spider zou dus alle links moeten volgen (binnen hetzelfde domein) totdat hij op een product pagina terecht komt. Deze product pagina zal er bij iedere webwinkel weer anders uitzien. Immers hebben niet alle webwinkels dezelfde layout + achterliggende html code (toch jammer
We gaan er even vanuit dat die product pagina's het volgende bevatten:
- Productomschrijving
- Aantal kenmerken + de bijbehorende waarde (bijvoorbeeld: Kloksnelheid = 2.4 Ghz, Geheugen = 512Mb). Dit is telkens een combinatie van 2 waardes. De naam van het kenmerk en de waarde bij het kenmerk.
Het algoritme zou in staat moeten zijn om het volgende te doen voor iedere mogelijke webwinkel. Het moet dus een universeel algoritme zijn. Er moeten geen templates aan te pas komen of wat dan ook.
- Beginnen bij het categorie overzicht
- Linkjes (binnen hetzelfde domein) volgen totdat hij bij een product overzicht komt
- Alle links naar productinfo pagina's op deze pagina volgen
- Per productinfo pagina mij een lijst geven met kenmerken van dat product + een productomschrijving
Dit hele verhaal moet grotendeels zonder menselijke tussenkomst komen te functioneren. Ik heb zitten spelen met het idee om een aantal pagina's uit dezelfde categorie te diff'en om zo de dynamische van de statische content te scheiden. Immers, de html die de layout genereerd zal vrijwel 100% hetzelfde blijven en is niet van belang.
Echter hou je dan nog een blok rotzooi over. Dit blok rotzooi bevat zowel HTML als de data waar ik interesse in heb (omschrijving + kenmerken). Hoe bak ik een parser die in staat is te onderscheiden of het een kenmerk is en dan ook nog eens in staat is de juiste waarde er bij te zoeken.
Lijkt me een leuke opgave voor de /14 mensjes op de vroege dinsdagochtend om hier een algoritme voor te bedenken