Code-for-Hungary / bulletinmonitor

Közlönyfigyelő / Bulletin Monitor
4 stars 0 forks source link

architektúra #5

Closed zolizoli closed 1 year ago

zolizoli commented 1 year ago
  1. Az oldal elvileg szabadon scrapelhető https://magyarkozlony.hu/robots.txt
  2. Tárolni kell hogy eddig mit szedett le a rendszer
  3. Kereshetővé akarjuk tenni az eddig leszedett dokumentumokat? Ha igen, hogyan akarunk keresni? Simán szóillesztéssel, vagy akarunk szótövezni, hasonlósággal operálni, stb?
  4. Felmértük-e hogy milyen PDF-ek kerülnek ki? Én kb 10 databot néztem meg most gyorsan, abban mindben benne van a plain text, ergo könyen kiszedhető a szöveg. Viszont a struktúrát nagyon nehéz szépen kiszedni belőle. Kell-e a félig strukturált része a doksiknak (pl táblázatszerűen írt dolgok, tördeléssel jelzett struktúra, stb)? Ha ezt el tudjuk engedni, akkor egyszerűsödik a feladat.
  5. Külön kellene kezelni a "business logic" és a backend részt. Én szívesen vállalom a scraper és pdf kezelő szállítását akár a héten. A business logic backend meg ezeket ütemezetten hívhatja, a kapott szöveget tárolhatja, stb. Annak a megvitatása szerintem a nagyobb falat.
pisipite commented 1 year ago
  1. szuper, köszi a csekkolást!
  2. csak a minimálisat tárolnám. legjobb lenne, ha a kimenő e-mailben csak egy szövegrészt és a találat helyét linkként kapná meg a felhasználó.
  3. kezdetnek mennék a legegyszerűbb kereséssel, utána
  4. nem kellenek a strukturálatlan részek, kapjon linket a konkrét közlönyhellyel és találja meg így a felhasználó.
  5. <3
law909 commented 1 year ago
  1. ha jól tudom, többféle scraper van tervben. Emiatt a scraper futtatás felelősségét kiemelném a backendből, hiszen a scraper ismeri a tartalmat, ő tudja hogy napi, heti vagy havi egyszer (akárhányszor) érdemes futnia az adott tartalmon. Plusz így a backendnek nem kell azzal foglalkoznia, hogy a különböző scrapereket hogyan és hol kell futtatni.

A backendet a scraperek felé passzívnak képzelem. Egy scraper futáskor egy standard api-n keresztül megkérdezi a backendet, hogy mit keressen, majd ha van eredmény, akkor standard api-n keresztül értesíti erről a backendet. Szóval a backend szempontjából a scrapereket én inkább eventnek látom, nem pedig futtatandó joboknak. Így bárki bármiben írhat scrapert és azt futtathatja bárhol bárhogy. Ha regisztrálva van a backendben, akkor lehet rá feliratkozni és a backenden keresztül tud értesítést küldeni a feliratkozóinak.

law909 commented 1 year ago

Vitatkoznék a readmenek azzal a részével, hogy a keresés legyen külön szolgáltatás. A backend oldaláról nézve ez csak bonyolítja a helyzetet mert több scraper eseménye is egy szöveg kereső szolgáltatásból érkezne, ahol megint azonosítani kéne a scrapert is (kereshetünk "online számla"-ra a közlönyben és a nav weboldalán is, ami külön scraper de ha jól értem egy kereső).

Szerintem a scraper felelőssége, hogy hol, hogyan, mikor fut, hogyan alakítja a tartalmat kereshetővé és abban hogyan keres.

Nyilván lehet csinálni egy kereső szolgáltatást, ami kap egy tartalmat és "egy" kulcsszót és keres, de ez a backend szempontjából legyen láthatatlan.