Open aidiss opened 9 years ago
Tą sprendžia duomenų surinkimo robotas (Crawler). Štai pavyzdys iš roboto instrukcijų failo, kur būtent aprašyta, kurias nuorodas lankyti, o kurių ne:
name: opendata.gov.lt
crowler:
start-urls:
- http://opendata.gov.lt/index.php?vars=/public/public/search
download-urls:
- name: table
pattern: http://opendata\.gov\.lt/index\.php\?vars=/public/public/search/\d+/
actions: [follow, download]
- name: details
pattern: http://opendata\.gov\.lt/index.php\?vars=/public/public/print/\d+/
actions: [download]
Čia pavyzdys yra su opendata.gov.lt svetaine. Tačiau principas yra toks, kad pattern
lauke yra įrašyta nuorodos regular expression, o action
nurodo, ką robotas turi daryti aptikęs tokią nuorodą. Kol kas action
laukas turi du variantus: download
- atsiųsti nuorodos turinį ir išsaugoti į duomenų saugyklą, follow
- analizuoti šio puslapio nuorodas ir pagal tą patį algoritmą spręsti ką daryti su kiekvieną iš aptiktų nuorodų.
Pateiktame roboto instrukcijų failo pavyzdyje, download-urls
parametras leidžia aprašyti Regex'ą bet kokiam puslapiui.
Pavyzdžiui:
download-urls:
- name: data
pattern: .*
actions: [follow, download]
Reiškia, kad siųsti absoliučiai visus puslapius.
Žodžiu, yra visiška laisvė aprašyti kas bus siunčiama.
Kaip elgtis tokiais atvejais? pvz: