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.
Paieška, svetainės, API, kanalai, failai
Šaltinių taisyklės, taikomos visame kelyje
Jūsų serveriai, ES regionas arba izoliuota aplinka
CLI, Rust crate, paslauga ir WebAssembly
Žinių valdymas, taikomas Winnow surinktiems šaltiniams.
Indeksuokite surinktus duomenis greitai paieškai.
Analizuokite Winnow išvestį į turinio adresuojamus medžius.
Pradėkite nuo vieno pasikartojančio klausimo. Winnow jį paverčia pavadintu keliu su aiškiais šaltiniais, bendromis gavimo taisyklėmis, tipizuota išvestimi ir vykdymo įrašu, kurį kita sistema gali peržiūrėti.
Suprojektuotas atsižvelgiant į šaltinius
Per 66 kategorijas. Be to, 28 varikliai, 325 rinktuvai.
Core neturi vykdymo laiko priklausomybių. Stealth naršyklė yra pasirenkama, Python.
Projekto aprašas fiksuoja, kas įtraukta: kompaktiškas Rust dvejetainis failas, grandiklių ir rinktuvų katalogas, išvesties formatai, užklausų valdikliai, kalbų sąsajos ir keturi integracijos paviršiai, naudojami likusios technologijų krūvos dalies.
TLS, slapukai, dažnio ribos, įgaliotieji serveriai
Analizatorius, grandikliai, gavimas, auditas
Paleiskite Winnow kaip vieną binarą, įterpkite jį kaip Rust kreipinius, paleiskite kaip axum HTTP paslaugą arba kurkite naršyklei ir kraštui. Tie patys grandikliai ir ta pati išvesties forma veikia visais keturiais režimais.
Iš anksto sukurti grandikliai šaltiniams, kuriuos analitikai jau naudoja, nuo vyriausybės ir mokslo portalų iki naujienų, finansų ir atvirų duomenų. Kiekvienas grandiklis yra tipizuota Rust struktūra. Pasirinktiniai grandikliai įterpiami šalia įtaisytųjų ir laikosi tos pačios išvesties sutarties.
Operatorius nusprendžia dėl teisėto pagrindo
Kiekvienai užklausai: šaltinis, URL, laiko žyma, būsena, turinio maiša.
Privatūs tinklo diapazonai blokuojami kiekviename URL įvestyje.
Domenų žetonų kibirėliai, suderinti su kiekvieno šaltinio dokumentuota politika.
Atsisakyti pagal nutylėjimą. Nekašuoti domenai atmetami, kol robots.txt nėra gautas.
Winnow vykdo robots.txt su atsisakymo pagal nutylėjimą politika, domenų užklausų limitais, SSRF apsauga, GDPR pseudonimizavimu ir kiekvienos užklausos audito registravimu kaip dizaino apribojimais, o ne pasirenkamais nustatymais. Kas nepatenka į Winnow kontrolę: operatoriaus teisėtas pagrindas rinkti duomenis, duomenų mažinimo pasirinkimai ir vėlesni saugojimo sprendimai. Šis puslapis neteigia GDPR sertifikavimo, nes biblioteka negali to nustatyti jūsų vardu.
tekstas, JSON, JSONL, CSV arba HTML. Tinka vamzdynams.
CSS selektoriai ištraukia tipizuotus laukus iš DOM.
Pirmiausia paprastas HTTP, tada slaptas HTTP, tada naršyklė tik jei blokuojama.
28 paieškos varikliai užklausiami lygiagrečiai, rezultatai sujungiami ir reitinguojami.
Vienu metu užklausos išsiųstos 28 paieškos sistemoms, rezultatai sujungti ir surikiuoti.
Viena užklausa tampa struktūruotais įrašais per keturis etapus. Atrinkimas lygiagrečiai apklausia 28 paieškos sistemas. Gavyba pereina nuo paprasto HTTP prie TLS pirštų atspaudų užklausų ir slaptos naršyklės, tik tada, kai svetainė aktyviai blokuoja. Analizė paleidžia tipizuotus grandiklius DOM medyje. Išvestis įrašo vieną iš penkių formatų į standartinę išvestį.
Kiekviena paieškos sistema turi savo API, kvotas ir apvalkalą.
Rotacijos paslaugos prideda atskirą atsiskaitymą ir IP kokybės skirtumus.
Selenium arba Playwright prideda atskirą eksploatacijos paviršių ir išteklių sąnaudas.
Konkrečios svetainės trapus kodas, kuris tyliai sugenda, kai keičiasi žymėjimas.
Dauguma duomenų rinkimo stekų sujungia grandiklius, be galvos naršykles, įgaliotinių paslaugas, paieškos apvalkalus ir pasirinktinius priežiūros scenarijus. Klijavimo sluoksnis tampa projektu. Kiekvienas įrankis turi savo eksploatacijos paviršių, savo atsiskaitymo modelį ir savo mandagumo prielaidas.
Teisinis pagrindas, mažinimas ir saugojimas lieka jūsų atsakomybė. Winnow įrašo tą sprendimą; jis jo nepriima už jus.
Kiekviena užklausa registruojama su šaltiniu, adresu, laiku ir rezultatu.
Identifikatoriai gali būti pseudonimizuoti duomenų rinkimo metu, o ne perduodami neapdoroti.
Robots politika ir domeno dažnio ribos vykdomos nuo pirmos užklausos.
Žiniatinklio duomenų rinkimas kelia realių rizikų: būti užblokuotam, tvarkyti asmens duomenis, užklausoms pasiekti nesaugius adresus ir neturėti įrašo, kas įvyko. Winnow su kiekviena iš jų susidoroja nuo pat pradžių, taikydamas mandagumo taisykles, pseudonimizavimą, apsaugą nuo nesaugių paskirties vietų ir kiekvienos užklausos žurnalą. Ko jis nedaro, tai neapsimeta priimantis jūsų teisinius sprendimus. Jūsų teisinis pagrindas, kiek saugote ir kiek laiko saugote, lieka jūsų sprendimas, ir mes neteikiame jokio sertifikavimo teiginio, kurio biblioteka negali sąžiningai teikti.
Sulankstyti steką į vieną dvejetainį failą reiškia vieną dalyką, kurį reikia išmokti, paleisti ir pataisyti, vietoj penkių ir jų siūlių.
Trapūs svetainių grandikliai ir klijavimo scenarijai, laikantys steką kartu, tyliai eikvoja inžinierių laiką mėnesis po mėnesio.
Įgaliotinių rotacija ir paieškos kvotos apmokestinamos pagal naudojimą. Savarankiškai talpinamas dvejetainis failas infrastruktūroje, už kurią jau mokate, neturi netikėtų srauto sąskaitų.
Kolekcijų rinkinys paprastai suskaidomas į svetainei pritaikytus grandiklius, naršyklės automatizavimą, tarpinių serverių tvarkymą, paieškos jungtis ir klijavimo kodą. „Winnow“ koordinuoja šias judančias dalis pagal vieną vykdymo politiką, todėl operacijos gali pataisyti vieną maršrutą, stebėti vieną įrašą ir pakartoti vieną klausimą.
Įvestys, laikas, sprendimai ir rezultatai lieka prieinami kartojimui ir peržiūrai.
Analizavimo, pseudonimizavimo, normalizavimo ir išvesties taisyklės yra aiškios.
Užklausų limitai, robotų politika, bandymai iš naujo ir nesaugių adresų apsauga keliauja kartu su maršrutu.
Kiekviena paieškos sistema, svetainė, API, kanalas ir failas yra įvardyti vykdyme.
Pasikartojanti kolekcijos užduotis neturėtų elgtis kaip penki nesusiję scenarijai. „Winnow“ suteikia atradimui, gavimui, analizavimui, normalizavimui, išvesties ir vykdymo įrašui vieną bendrą maršrutą, o diegimas lieka atskiru operaciniu pasirinkimu.
Išveskite JSON, CSV, srautus, saugomus įrašus arba atsakymo formą, kurios tikisi jūsų darbo eiga.
Atradimas, gavimas, analizavimas ir išvestis dalijasi viena politika ir vienu vykdymo įrašu.
Paieškos sistemos, svetainės, API, kanalai ir failai gali patekti į tą patį vykdymą.
„Winnow“ pradeda nuo klausimo, nusprendžia, kurie šaltinio paviršiai turėtų būti vykdyme, atranda kandidatus, mandagiai juos gauna, išanalizuoja naudingą medžiagą ir išveda tipizuotus rezultatus. Maršrutas įrašomas, kad tą patį darbą būtų galima pakartoti ir peržiūrėti.
Jis užrašo, ką aplankė, todėl atsakymas jau yra, jei kas nors paklaustų.
Jis gali veikti visiškai Europoje, jūsų patikimose mašinose.
Jis laikosi taisyklių, kurias nustato kiekviena svetainė, ir laukia savo eilės.
Kiekvienas rezultatas išlaiko savo šaltinio pastabas ir kolekcijos maršrutą, todėl paslauga gali parodyti, iš kur atėjo informacija.
Pirmieji klausimai yra protingi: ar tai galėtų sukelti problemų, kur keliauja mano informacija ir kaip galiu pamatyti, ką jis padarė? Štai paprasti atsakymai. Rūpestis ir atvirumas yra įmontuoti į „Winnow“ nuo pat pradžių, o ne parduodami kaip papildomos funkcijos.
Sąrašas yra mažas failas, kurį galite išsaugoti ir prie jo grįžti, o ne kažkas, kas dingsta.
Kiekviena eilutė nurodo, iš kur ji atsirado, todėl visada galite patys pažiūrėti į šaltinį.
Netvarka pašalinama. Matote naudingas dalis, kurių prašėte, ir iš kur kiekviena atsirado.
Vietoj krūvos svetainių, kurias reikia skaityti, gaunate vieną aiškų sąrašą su eilute kiekvienam elementui ir pastaba, nurodančia, iš kur jis atsirado. Skaitykite, spausdinkite arba pasilikite. Tai paverčia atvirų skirtukų raizgalynę į įrašą, kurį galite patikrinti vėliau.
Kiekviena kortelė rodo tiksliai tokį dalyką, kokį pasakytumėte, todėl niekada neįstrigsite.
Nėra meniu ar nustatymų, su kuriais reikėtų kovoti. Tiesiog klausiate.
Apibūdinkite, ko norite, savo kasdieniais žodžiais, kaip kalbėdami su žmogumi.
Jums nereikia ypatingų žodžių. Klauskite naujienų tema, kainų iš kelių parduotuvių, oficialaus pranešimo ar renginio laikų. Pasirinkite pavyzdį, kad pamatytumėte, kaip galėtumėte klausti ir kokį organizuotą atsakymą galite gauti.
Grįžta tvarkingas sąrašas, kaip tvarkingas kvitas išvardija tai, ką nusipirkote.
Jis apsilanko puslapiuose ir mandagiai juos perskaito už jus.
Pasakykite, ko ieškote, kasdieniais žodžiais.
Internetas yra didžiulis ir daug jo yra triukšmas. Winnow perskaito svarbius puslapius, išlaiko naudingas dalis ir palieka netvarką. Klausiate paprastais žodžiais ir gaunate organizuotą atsakymą su šaltiniais. Nėra ko naujo mokytis.
Šaltinių taisyklės ir saugumas įmontuoti
Mažiau pasikartojančių sąskaitų tvarkyti
Savarankiškai talpinamas šaltinio darbas, kurį valdote
„Winnow“ suteikia pasikartojančiam šaltinio darbui vieną valdomą kelią. Paieškos sistemos, svetainės, API, kanalai ir failai patenka į tą patį paleidimą; atradimas, gavimas, analizė ir tipizuota išvestis dalijasi viena politika ir vienu įrašu. Operacijos gauna pakartojamą procesą vietoj penkių rinktuvų, kurie tolsta vienas nuo kito.