Yhteenveto
Tutkimusorganisaatio käyttää aikaa manuaalisen tai tapauskohtaisen verkkosivukeruun korvaamiseen toistettavalla poiminnalla.
Ratkaisuksi rakennettiin määritettävä kaavin, joka noudattaa sivusääntöjä, käsittelee dynaamista sisältöä ja vie jäsenneltyjä tietueita.
Ohjelmisto on suunniteltu vähentämään manuaalista keruuta ja epäyhtenäistä poimintaa.
Asiakastarina
Asiakas on saksalainen tutkimusorganisaatio. Se kerää tutkimustyötä varten tuote-, listaus- ja yhteystietoja julkisilta verkkosivuilta.
Manuaalinen ja tapauskohtainen keruu vie tiimin aikaa etenkin silloin, kun kohdesivustoilla käytetään sivutusta, muuttuvia sivurakenteita ja dynaamisia taulukoita.
Pyyntö oli yksinkertainen: vastaanota kohde-URL-osoitteet tai URL-mallit, määritettävät valitsimet tai määritystiedostot ja palauta valittu verkkosivusisältö jäsenneltyinä tietueina.
Ratkaisu rakennettiin määritettävien kenttäsääntöjen, monisivuisen indeksoinnin ja selainpohjaisen renderöinnin ympärille. Ajastetut ajot ja selkeät lokit tukivat toistettavaa keruuta.
Asiakas tarvitsi
- URL-osoitteiden, URL-mallien, valitsimien, XPath-lausekkeiden tai määritystiedostojen vastaanoton
- Valitun sisällön poiminnan jäsennellyiksi tietueiksi
- Sivutuksen seuraamisen sivujen ja verkkosivustojen välillä
- JavaScript-sivujen, dynaamisten taulukoiden ja viiveellä lataamisen käsittelyn
Miksi valmis ohjelmisto ei sopinut
Valmis tiedonpoimintaohjelmisto kattaa monia lähdetyyppejä, kun taas hallinnoidut kaavintapalvelut keskittyvät rajapintoihin, selaininfrastruktuuriin ja välityspalveluihin. Tämä asiakas tarvitsi projektikohtaiset kentät, valitsimet ja sivutussäännöt. Ratkaisun tuli tukea myös paikallista käyttöä, dokumentaatiota ja määritettyjä tulostusvaatimuksia.
Projektin yleiskuvaus
Ratkaisu suunniteltiin kaavinnan määritysnäkymän ympärille. Siinä tutkimustiimi määrittää kohde-URL-osoitteet, kentät ja valitsimet. Myös sivutuksen säännöt ja tulostusmuodot ovat käytettävissä.
Erilaisten sivurakenteiden käsittelyä varten kaavin käyttää määritettäviä poimintasääntöjä kentille, näkyvälle tekstille ja taulukoille. Se käy läpi toisiinsa liittyvät sivut ja seuraa sivutusta tarvittaessa.
Selainpohjainen renderöinti mahdollistettiin JavaScript-sivuille, dynaamisille taulukoille ja viiveellä ladattavalle sisällölle. Staattisilla sivuilla voidaan sen sijaan käyttää suoria HTTP-pyyntöjä ja HTML-jäsennystä.
Ratkaisu suunniteltiin myös toistettavaa käyttöä varten. Se toimii komentoriviltä tai paikalliselta koneelta, tukee ajastusta ja tallentaa virheet sekä uudelleenyritykset.
Kerätyt tietueet voidaan viedä CSV-, JSON- tai Excel-muotoon. PostgreSQL, kevyt REST JSON -päätepiste ja projektidokumentaatio tukevat asiakkaan tiimin jatkokäyttöä.
Toimitetut pääominaisuudet
- Määritettävät kohde-URL-osoitteet ja URL-mallit
- Kenttävalitsin- ja XPath-editori
- Monisivuinen indeksointi ja sivutus
- JavaScriptin ja viiveellä ladattavan sisällön renderöinti
- CSV-, JSON- ja Excel-vienti
- Pyyntörajat, viiveet, uudelleenyritykset ja user-agent-asetukset
- Ajohistoria ja kaavalokit
- PostgreSQL- tai REST JSON -toimitus