Web Scraping and OSINT Engine in Rust | Dweve Winnow
Winnow is a Rust source-intelligence and web-scraping engine. Apache-2.0 terms, self-hosted; the repository publishes in the eighth release round.
Keresés, webhelyek, API-k, hírcsatornák, fájlok
Típusos eredmények a következő rendszernek
Forrásszabályok érvényesítve az útvonalon
Az Ön szerverei, EU-régió vagy elkülönített
CLI, Rust crate, szolgáltatás és WebAssembly
Tudásirányítás a Winnow által gyűjtött források felett.
Indexelje az összegyűjtött adatokat a gyors visszakereséshez.
Elemezze a Winnow kimenetét tartalomcímzett fákba.
Kezdje egy ismétlődő kérdéssel. A Winnow elnevezett útvonallá alakítja, explicit forrásokkal, megosztott lekérési szabályokkal, típusos kimenettel és egy futtatási rekorddal, amelyet a következő rendszer megvizsgálhat.
66 kategóriában. Plusz 28 motor, 325 gyűjtő.
A Core-nak nincs futásidejű függősége. A stealth böngésző opcionális, Python.
A projekttábla rögzíti, hogy mit tartalmaz: egy kompakt Rust bináris, a kaparó- és gyűjtőkatalógus, kimeneti formátumok, kérésvezérlők, nyelvi kötések és a négy integrációs felület, amelyet a verem többi része használ.
Futtassa a Winnow-t egyetlen binárisként, ágyazza be Rust crate-ként, futtassa axum HTTP szolgáltatásként, vagy fordítsa böngészőre és élre. Ugyanazok a scraperek és ugyanaz a kimeneti forma működik mind a négy módban.
Előre elkészített scraperek azokhoz a forrásokhoz, amelyeket az elemzők már használnak, a kormányzati és tudományos portáloktól a hírekig, pénzügyig és nyílt adatokig. Minden scraper egy típusos Rust struct. Az egyedi scraperek a beépítettek mellé illeszthetők, és ugyanazt a kimeneti szerződést követik.
Kérésenként: forrás, URL, időbélyeg, állapot, tartalom hash.
A privát hálózati tartományok blokkolva minden URL bemenetben.
Tartományonkénti token vödrök, amelyek az egyes források dokumentált szabályzatához igazodnak.
Alapértelmezés szerint tiltás. A nem gyorsítótárazott tartományok elutasításra kerülnek, amíg a robots.txt le nem töltődik.
A Winnow érvényesíti a robots.txt-t deny-by-default szabályzattal, tartományonkénti sebességkorlátokkal, SSRF védelemmel, GDPR álnevesítéssel és kérésenkénti auditnaplózással, mint tervezési kényszerek, nem opcionális beállítások. Ami kívül esik a Winnow ellenőrzésén: az üzemeltető jogszerű alapja az adatgyűjtéshez, az adatminimalizálási döntések és a downstream megőrzési döntések. Ez az oldal nem állít GDPR-tanúsítványt, mert egy könyvtár nem tudja ezt eldönteni az Ön nevében.
szöveg, JSON, JSONL, CSV vagy HTML. Csővezeték-barát.
CSS szelektorok típusos mezőket nyernek ki a DOM-ból.
Először sima HTTP, majd stealth HTTP, majd böngésző, csak ha blokkolva van.
28 keresőmotor párhuzamosan lekérdezve, az eredmények egyesítve és rangsorolva.
Egy lekérdezés négy szakaszon keresztül válik strukturált rekordokká. A Discovery 28 keresőmotort kérdez le párhuzamosan. A Fetch egyszerű HTTP-ről TLS-ujjlenyomatos kérésekre, majd rejtett böngészőre vált, csak ha egy oldal aktívan blokkol. A Parse típusos scrapereket futtat a DOM-on. A Output öt formátum egyikét írja a stdout-ra.
Minden keresőmotornak saját API-ja, kvótája és wrapperje van.
A rotációs szolgáltatások külön számlázást és IP-minőségbeli eltéréseket adnak hozzá.
A Selenium vagy a Playwright külön üzemeltetési felületet és erőforrás-költséget ad hozzá.
Oldalankénti törékeny kód, amely csendben elromlik, ha a markup változik.
A legtöbb adatgyűjtő stack scrapereket, fej nélküli böngészőket, proxy szolgáltatásokat, kereső wrappereket és egyedi karbantartó szkripteket kombinál. A ragasztóréteg lesz a projekt. Minden eszköznek saját üzemeltetési felülete, saját számlázási modellje és saját udvariassági feltételezései vannak.
A jogszerű alap, a minimalizálás és a megőrzés nálad marad. A Winnow rögzíti ezt a döntést; nem hozza meg helyetted.
Minden kérés naplózva van forrással, címmel, időponttal és eredménnyel.
Az azonosítók pszeudonimizálhatók az adatgyűjtés során, nem nyers formában kerülnek továbbításra.
A robots szabályzat és a domainenkénti sebességkorlátok az első kéréstől érvényesülnek.
A webes adatgyűjtés valódi kockázatokkal jár: blokkolás, személyes adatok kezelése, kérések nem biztonságos címekre, és annak hiánya, hogy mi történt. A Winnow ezeket mind az elejétől kezeli, udvariassági szabályokkal, pszeudonimizálással, nem biztonságos célpontok elleni védelemmel és kérésenkénti naplóval. Amit nem tesz, az az, hogy úgy tesz, mintha meghozná a jogi döntéseidet. A jogszerű alapod, hogy mennyit tartasz meg, és meddig tartod meg, a te döntésed marad, és nem teszünk olyan tanúsítási állítást, amelyet egy könyvtár őszintén nem tehet meg.
A stack egy binárissá hajtogatása egy dolgot jelent tanulni, futtatni és javítani, öt helyett, plusz azok illesztései.
A törékeny oldalankénti scraperek és a ragasztó szkriptek, amelyek összetartják a stacket, csendben felemésztik a mérnökök idejét hónapról hónapra.
A proxy rotáció és a kereső kvóták használat alapján vannak számlázva. Egy önállóan üzemeltetett bináris olyan infrastruktúrán, amelyért már fizetsz, nem hoz meglepetés forgalmi számlát.
Egy gyűjtőstack általában széttöredezik webhelyspecifikus kaparókra, böngészőautomatizálásra, proxykezelésre, keresőcsatlakozókra és ragasztókódra. A Winnow ezeket a mozgó részeket egyetlen futási szabályzat alá rendezi, így az üzemeltetés egy útvonalat javíthat, egy rekordot figyelhet meg, és egy kérdést ismételhet meg.
A bemenetek, az időzítés, a döntések és az eredmények rendelkezésre állnak az ismétléshez és a felülvizsgálathoz.
Az elemzési, pszeudonimizálási, normalizálási és kimeneti szabályok egyértelműek.
A sebességkorlátok, a robots-szabályzat, az újrapróbálkozások és a nem biztonságos címek elleni védelem az útvonallal együtt jár.
Minden keresőmotor, webhely, API, hírcsatorna és fájl meg van nevezve a futásban.
Egy ismétlődő gyűjtési feladatnak nem szabad úgy viselkednie, mint öt egymáshoz nem kapcsolódó szkriptnek. A Winnow a felfedezésnek, a lekérésnek, az elemzésnek, a normalizálásnak, a kimenetnek és a futási rekordnak egy közös útvonalat ad, miközben a telepítés külön üzemeltetési döntés marad.
JSON, CSV, streamek, tárolt rekordok vagy a munkafolyamat által elvárt válaszforma kibocsátása.
A felfedezés, a lekérés, az elemzés és a kimenet egyetlen szabályzatot és egyetlen futási rekordot oszt meg.
Keresőmotorok, webhelyek, API-k, hírcsatornák és fájlok léphetnek be ugyanabba a futásba.
A Winnow egy kérdéssel kezdi, eldönti, hogy mely forrásfelületek tartozzanak a futásba, felfedezi a jelölteket, udvariasan lekéri őket, elemzi a hasznos anyagot, és típusos eredményeket bocsát ki. Az útvonal rögzítésre kerül, így ugyanaz a munka megismételhető és felülvizsgálható.
Feljegyzi, hogy mit látogatott meg, így a válasz már ott van, ha valaki kérdezi.
Teljesen Európán belül futhat, olyan gépeken, amelyekben megbízik.
Követi a webhelyek által felállított szabályokat, és megvárja a sorát.
Minden eredmény megtartja a forrásjegyzeteit és a gyűjtési útvonalát, így a szolgáltatás megmutathatja, honnan származik az információ.
Az első kérdések ésszerűek: okozhat-e ez gondot, hová kerül az adatom, és hogyan láthatom, hogy mit csinált? Íme a világos válaszok. A gondosság és a nyitottság a Winnow-ba az elejétől fogva be van építve, nem külön eladott kiegészítők.
A lista egy kis fájl, amit elmenthetsz és visszatérhetsz hozzá, nem pedig valami, ami eltűnik.
Minden sor megmutatja, honnan származik, így mindig megnézheted magad a forrást.
A zűrzavar eltűnik. Látod a hasznos részeket, amiket kértél, és azt, hogy honnan származnak.
Ahelyett, hogy egy rakás weboldalt kellene elolvasnod, egy tiszta listát kapsz, minden elemhez egy sorral és egy megjegyzéssel arról, honnan származik. Olvasd el, nyomtasd ki, vagy tartsd meg. A nyitott lapok kuszaságát olyan feljegyzéssé alakítja, amit később is ellenőrizhetsz.
Minden kártya megmutatja, hogy pontosan milyen dolgot mondanál, így soha nem ragadsz le.
Nincsenek menük vagy beállítások, amikkel birkózni kellene. Csak kérdezel.
Írd le, amit szeretnél, a saját hétköznapi szavaiddal, mintha egy emberrel beszélnél.
Nincs szükséged különleges szavakra. Kérdezz egy témáról szóló híreket, árakat néhány üzletből, egy hivatalos értesítést, vagy egy esemény időpontjait. Válassz egy példát, hogy lásd, hogyan kérdezhetnél, és milyen rendezett válasz jöhet vissza.
Egy rendezett lista jön vissza, ahogy egy rendes nyugta felsorolja, mit vásároltál.
Meglátogatja az oldalakat, és elolvassa őket helyetted, udvariasan.
Mondd el neki, mit keresel, hétköznapi szavakkal.
A web hatalmas, és nagy része zaj. A Winnow elolvassa a releváns oldalakat, megtartja a hasznos részeket, és eldobja a felesleget. Egyszerű szavakkal kérdezel, és rendezett választ kapsz a forrásaival. Nincs semmi új, amit meg kellene tanulnod.
Kevesebb ismétlődő számla, amit kezelni kell
Öt külön eszköz és az őket összetartó ragasztó
Saját üzemeltetésű forrásmunka, ami a tiéd
A Winnow egy kormányzott utat ad az ismétlődő forrásmunkának. Keresőmotorok, weboldalak, API-k, hírcsatornák és fájlok ugyanabba a futásba kerülnek; a felfedezés, a lekérés, a feldolgozás és a típusos kimenet egyetlen szabályzatot és egyetlen nyilvántartást oszt meg. Az üzemeltetés ismételhető folyamatot kap öt, egymástól eltávolodó gyűjtő helyett.