Tarvis yx webbisivuilla oleva julkinen tietokanta imaista koneeni tietokantaan ja tehdä sitä varten ohjelman. Milläs valmiilla palikalla kannattaa parsia julkisen tietokannan HTML-sivut? Jollain Internet Explorerin:n omalla parserilla?
Ohjelmointiympäristö on Windows (ja ajattelin koodata C#:lla).
Ohjelmointiympäristö on Windows (ja ajattelin koodata C#:lla).
Vastaukset 4
Vanhimmat
Tuot sivun/sivut johonkin editoriin ja muokkaat niin, että vain taulukko on jäljellä. Sitten tuot sen Exceliin tai Accessiin tms. ja muutat suoraan sarkainerotelluksi tekstiksi tai jätät Access-kantaan tai sitten muutat mihin muutat. Tai jotain...
Kyllä jäsennyspuuta olisi noiden sivujen kanssa mukavampi pompottaa kuin editoria. Sivuilla on hierarkia ja linkkejä toisiinsa sekä formaatti vähän vaihtelee sen mukaan miten paljon sivulla on tavaraa. Editoriskripti menisi tuollaisessa helposti selmuun, mutta jäsennyspuussa voisi suunnistaa solmujen tekstien perusteella edes jotenkin.
(Sivuja on satoja ja ne on tuotettu koneellisesti. Tuottaja tekee ne lain velvoittamana eikä ole yhteistyöhalukas :-) )
IE:n jäsenin voisi olla hyvä sen takia kun se nielee virheellistäkin HTML:ää. Onhan noita parsereita muitakin, mutta ne olettavat maailman olevan täydellinen ja kaatuvat sivujen virheisiin. Javan parseria olen käyttänyt aiemmin, mutta ajattelin tehdä tämän vaihteeksi ilman Javaa.
Tein joskus vastaavan (sivuja n^m kpl, tietueita (n!)^(m!) kpl ;)) php:llä, valmista parseria en edes viitsinyt alkaa hakea, tuskin olisi toiminutkaan.
Ensin imasin sivut omalle koneelle httrack:llä (ettei kokoajan tarvi testausvaiheessa x:n serveriä kuormittaa) ja väänsin parserin PHP:llä. Kun homma toimi omalla koneella, päästin skriptin "oikeiden" sivujen kimppuun. Siitä sitten tiedot vaikka MySQL-kantaan tms.
PHPeellä tehtynä saattaisi toimiakin - äärellisellä koodaustyömäärällä.