Open sirex opened 10 years ago
Supratau, manau galime pradėti kelti YAML'us į kodą. Tavo pateiktas pavyzdys jau tinkamas. Ar yra priežasčių, dėl kurių nereikėtų skubėti?
Nematau jokių priežasčių dėl kurių nereikėtų skubėti. YAML failai tiesiog padeda aprašyti duomenis tokiu būdu, kuriuos vėliau naudosime tų aprašytų duomenų surinkimui. Todėl tie YAML failas tiesiog padės geriau suprasti iš ko sudaryti įvairūs duomenų šaltiniai ir ta surinkta informacija bus labai naudinga kuriant patį robotą, kuris interpretuos YAML failus.
Duomenų šaltinių, iš kurių duomenis gali surinkti duomenų robotai, yra be galo daug. Tam tikros grupės duomenų šaltinių duomenis pateikia panašiu pavidalu, todėl vietoj to, kad kiekvienam duomenų šaltiniui būtų kuriamas naujas robotas, programuojant jį Python kalba, galima susikurti DSL (Domain-specific language).
Deklaratyvus DSL padeda žymiai paprasčiau spręsti konkrečias problemas. Todėl turinti DSL skirtą roboto instrukcijų aprašymui, duomenis iš naujų šaltinių surinkti bus žymiai paprasčiau.
Štai pavyzdys, kaip galėtų atrodyti robotų instrukcijų failas YAML formatu:
Pagal šitą aprašą bus sukurtos trys duomenų saugyklos, iš kurių
table
irdetails
saugos atsiųstus puslapius, odataset
saugos struktūruotus duomenis išrinktus išdetails
duomenų.Žodžiu, taip gan paprastai galima aprašyti instrukcijas robotui, imti duomenis iš tam tikro šaltinio ir išgauti iš to šaltinio normalizuotus ir struktūruotus duomenis.