Kopsavilkums
Pētniecības organizācija pavada laiku, aizstājot manuālu vai neregulāru tīmekļa datu apkopošanu ar atkārtojamu ieguvi.
Risinājums kļuva par konfigurējamu skrāpētāju, kas ievēro lapu noteikumus, apstrādā dinamisku saturu un eksportē strukturētus ierakstus.
Programmatūra ir izstrādāta, lai samazinātu manuālu datu apkopošanu un nekonsekventu ieguvi.
Klienta stāsts
Klients ir pētniecības organizācija no Vācijas. Tā pētniecības vajadzībām apkopo produktu, sludinājumu un kontaktinformāciju no publiskām tīmekļa vietnēm.
Manuāla un neregulāra datu apkopošana komandai izmaksā laiku, īpaši tad, ja mērķa vietnēs tiek izmantota lapu numerācija, mainīgas lapu struktūras un dinamiskas tabulas.
Prasība bija vienkārša: pieņemt mērķa URL vai URL modeļus, konfigurējamus selektorus vai konfigurācijas failus un atgriezt atlasīto vietnes saturu strukturētu ierakstu veidā.
Risinājums tika veidots ap konfigurējamiem lauku noteikumiem, vairāku lapu pārmeklēšanu un pārlūkprogrammas renderēšanu. Plānotās palaišanas un pārskatāmi žurnāli atbalstīja atkārtojamu datu apkopošanu.
Klients vēlējās
- Pieņemt URL, URL modeļus, selektorus, XPath vai konfigurācijas failus
- Iegūt atlasīto saturu strukturētos ierakstos
- Sekot lapu numerācijai vairākās lapās un vietnēs
- Apstrādāt JavaScript lapas, dinamiskas tabulas un slinko ielādi
Kāpēc gatava programmatūra nebija piemērota
Gatavā datu ieguves programmatūra atbalsta daudzus avotu veidus, savukārt pārvaldīti skrāpēšanas pakalpojumi koncentrējas uz API, pārlūkprogrammu infrastruktūru un starpniekserveriem. Šim klientam bija nepieciešami projektam specifiski lauki, selektori un lapu numerācijas noteikumi. Risinājumam bija jādarbojas arī lokāli, jāietver dokumentācija un jāatbilst noteiktām izvades prasībām.
Projekta pārskats
Risinājums tika izveidots ap skrāpētāja konfigurācijas ekrānu, kur pētniecības komanda definē mērķa URL, laukus un selektorus. Pieejami arī lapu numerācijas noteikumi un izvades formāti.
Lai apstrādātu dažādas lapu struktūras, skrāpētājs izmanto konfigurējamus ieguves noteikumus laukiem, redzamajam tekstam un tabulām. Tas pārmeklē saistītās lapas un vajadzības gadījumā seko lapu numerācijai.
JavaScript lapām, dinamiskām tabulām un slinkās ielādes saturam tika nodrošināta pārlūkprogrammas renderēšana. Statiskām lapām tā vietā var izmantot tiešus HTTP pieprasījumus un HTML parsēšanu.
Risinājums tika izstrādāts arī atkārtojamam darbam. Tas darbojas komandrindā vai lokālā datorā, atbalsta plānošanu un reģistrē kļūmes un atkārtotus mēģinājumus.
Apkopotos ierakstus var eksportēt CSV, JSON vai Excel formātā. PostgreSQL, viegls REST JSON galapunkts un projekta dokumentācija atbalsta turpmāku izmantošanu klienta komandā.
Piegādātās galvenās funkcijas
- Konfigurējami mērķa URL un URL modeļi
- Lauku selektoru un XPath redaktors
- Vairāku lapu pārmeklēšana un lapu numerācija
- JavaScript un slinkās ielādes satura renderēšana
- CSV, JSON un Excel eksports
- Ātruma ierobežojumi, aizkaves, atkārtoti mēģinājumi un user-agent iestatījumi
- Palaišanas vēsture un skrāpēšanas žurnāli
- Piegāde uz PostgreSQL vai REST JSON