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.
Pretraživanje, web-mjesta, API-ji, feedovi, datoteke
Vaši poslužitelji, EU regija ili izolirano
Upravljanje znanjem nad izvorima prikupljenim putem Winnowa.
Indeksirajte prikupljene podatke za brzo dohvaćanje.
Parsirajte Winnow izlaz u stabla adresirana sadržajem.
Počnite s jednim ponavljajućim pitanjem. Winnow ga pretvara u imenovanu rutu s eksplicitnim izvorima, zajedničkim pravilima dohvaćanja, tipiziranim izlazom i zapisom izvođenja koji sljedeći sustav može pregledati.
U 66 kategorija. Plus 28 motora, 325 kolektora.
Core nema runtime ovisnosti. Stealth preglednik je opcionalan, Python.
Projektni list bilježi što se isporučuje: kompaktna Rust binarna datoteka, katalog scrapera i kolektora, formati izlaza, kontrole zahtjeva, jezična povezivanja i četiri integracijske površine koje koristi ostatak stoga.
TLS, kolačići, ograničenja stope, proxyji
Pokrenite Winnow kao jedan binarni, ugradite ga kao Rust crate-ove, pokrenite ga kao axum HTTP uslugu ili izgradite za preglednik i rub. Isti scraper-i i isti oblik izlaza rade u sva četiri načina.
Unaprijed izgrađena pokrivenost scraper-a
Unaprijed izgrađeni scraper-i za izvore koje analitičari već koriste, od vladinih i znanstvenih portala do vijesti, financija i otvorenih podataka. Svaki scraper je tipizirana Rust struktura. Prilagođeni scraper-i se uključuju pored ugrađenih i slijede isti ugovor o izlazu.
Po zahtjevu: izvor, URL, vremenska oznaka, status, hash sadržaja.
Privatni mrežni rasponi blokirani u svakom URL unosu.
Token bucket-i po domeni usklađeni s dokumentiranom politikom svakog izvora.
Zabrani prema zadanim postavkama. Nepredmemorirane domene se odbijaju dok se robots.txt ne dohvati.
Što se isporučuje prema zadanim postavkama
Winnow provodi robots.txt s politikom zabrane prema zadanim postavkama, ograničenjima stope po domeni, SSRF zaštitom, GDPR pseudonimizacijom i dnevnikom revizije po zahtjevu kao dizajnerskim ograničenjima, a ne opcionalnim postavkama. Ono što je izvan kontrole Winnow-a: zakonita osnova operatera za prikupljanje podataka, izbori minimizacije podataka i odluke o zadržavanju nizvodno. Ova stranica ne tvrdi GDPR certifikaciju jer knjižnica ne može donijeti tu odluku u vaše ime.
tekst, JSON, JSONL, CSV ili HTML. Pogodno za cijevi.
CSS selektori izvlače tipizirana polja iz DOM-a.
Prvo obični HTTP, zatim stealth HTTP, a preglednik samo ako je blokirano.
28 tražilica se upituje paralelno, rezultati se spajaju i rangiraju.
Jedan upit postaje strukturirani zapisi kroz četiri faze. Otkriće paralelno pretražuje 28 motora. Dohvaćanje eskalira od običnog HTTP-a preko zahtjeva s TLS otiskom do stealth preglednika, samo kada ih stranica aktivno blokira. Parsiranje pokreće tipizirane strugače nad DOM-om. Izlaz zapisuje jedan od pet formata u stdout.
Svaki tražilica ima vlastiti API, kvote i omotač.
Usluge rotacije dodaju zasebnu naplatu i varijabilnost kvalitete IP adresa.
Selenium ili Playwright dodaje zasebnu operativnu površinu i trošak resursa.
Krhki kod po stranici koji tiho puca kada se markup promijeni.
Većina stackova za prikupljanje podataka kombinira strugače, headless preglednike, proxy usluge, omotače za pretraživanje i prilagođene skripte za održavanje. Sloj ljepila postaje projekt. Svaki alat ima vlastitu operativnu površinu, vlastiti model naplate i vlastite pretpostavke o pristojnosti.
Sigurnost uključena prema zadanim postavkama
Zakonita osnova, minimizacija i zadržavanje ostaju na vama. Winnow bilježi tu odluku; ne donosi je umjesto vas.
Svaki zahtjev bilježi se s izvorom, adresom, vremenom i rezultatom.
Identifikatori se mogu pseudonimizirati dok se podaci prikupljaju, a ne prenositi sirovi.
Pravila o robotima i ograničenja brzine po domeni provode se od prvog zahtjeva.
Prikupljanje web podataka nosi stvarne rizike: blokiranje, rukovanje osobnim podacima, zahtjeve koji stižu na nesigurne adrese i nedostatak zapisa o tome što se dogodilo. Winnow se s tim nosi od početka, s pravilima pristojnosti, pseudonimizacijom, zaštitom od nesigurnih odredišta i zapisom po zahtjevu. Ono što ne čini jest pretvaranje da donosi vaše pravne odluke. Vaša zakonita osnova, koliko zadržavate i koliko dugo zadržavate ostaje vaša odluka, i ne dajemo nikakvu certifikacijsku tvrdnju koju knjižnica ne može pošteno dati.
Savijanje stacka u jedan binarni zapis znači jednu stvar za naučiti, pokrenuti i zakrpati, umjesto pet plus njihovih spojeva.
Krhki strugači po stranici i skripte ljepila koje drže stack zajedno tiho troše vrijeme inženjera mjesec za mjesecom.
Rotacija proxyja i kvote za pretraživanje naplaćuju se prema korištenju. Samostalno hostani binarni zapis na infrastrukturi koju već plaćate nema iznenađujući račun za promet.
Kolekcijski stog obično se raspada na strugače specifične za pojedino web mjesto, automatizaciju preglednika, rukovanje posrednicima, poveznike za pretragu i ljepljivi kôd. Winnow koordinira te pokretne dijelove pod jednom politikom izvođenja, tako da operacije mogu zakrpati jednu rutu, pratiti jedan zapis i ponoviti jedno pitanje.
Ulazi, vremenski raspored, odluke i rezultati ostaju dostupni za ponavljanje i pregled.
Pravila za raščlanjivanje, pseudonimizaciju, normalizaciju i izlaz su izričita.
Ograničenja brzine, politika robota, ponovni pokušaji i zaštita od nesigurnih adresa prate rutu.
Svaki tražilica, web mjesto, API, feed i datoteka imenovani su u pokretanju.
Ponavljajući posao prikupljanja ne bi se trebao ponašati kao pet nepovezanih skripti. Winnow daje otkrivanju, dohvaćanju, raščlanjivanju, normalizaciji, izlazu i zapisu pokretanja jednu zajedničku rutu, dok implementacija ostaje zaseban operativni izbor.
Ispisujte JSON, CSV, tokove, pohranjene zapise ili oblik odgovora koji vaš tijek rada očekuje.
Otkrivanje, dohvaćanje, raščlanjivanje i izlaz dijele jednu politiku i jedan zapis pokretanja.
Tražilice, web mjesta, API-ji, feedovi i datoteke mogu ući u isto pokretanje.
Winnow počinje s pitanjem, odlučuje koje površine izvora pripadaju u pokretanje, otkriva kandidate, dohvaća ih pristojno, raščlanjuje koristan materijal i ispisuje tipizirane rezultate. Ruta se bilježi kako bi se isti posao mogao ponoviti i pregledati.
Zapisuje što je posjetio, pa je odgovor već tu ako itko pita.
Može se u potpunosti izvoditi unutar Europe, na strojevima kojima vjerujete.
Slijedi pravila koja svako web mjesto postavlja i čeka svoj red.
Svaki rezultat zadržava svoje bilješke o izvoru i rutu prikupljanja, tako da usluga može pokazati odakle informacija dolazi.
Prva pitanja su razumna: može li ovo uzrokovati probleme, kamo odlaze moje informacije i kako mogu vidjeti što je učinilo? Evo običnih odgovora. Briga i otvorenost ugrađeni su u Winnow od početka, ne prodaju se kao dodatci.
Popis je mala datoteka koju možete spremiti i vratiti joj se, ne nestaje.
Svaki redak kaže odakle dolazi, pa uvijek možete sami pogledati izvor.
Nered je uklonjen. Vidite korisne dijelove koje ste tražili i odakle svaki dolazi.
Umjesto hrpe web stranica za čitanje, dobivate jasan popis s retkom za svaku stavku i bilješkom o tome odakle dolazi. Pročitajte ga, ispišite ili zadržite. Od hrpe otvorenih kartica pretvara se u zapis koji možete kasnije provjeriti.
Svaka kartica pokazuje točno ono što biste rekli, tako da nikad ne zapnete.
Nema izbornika ni postavki s kojima se treba boriti. Samo pitate.
Opišite što želite svojim svakodnevnim riječima, kao da razgovarate s osobom.
Ne trebaju vam posebne riječi. Pitajte za vijesti o temi, cijene iz nekoliko trgovina, službenu obavijest ili vrijeme događaja. Odaberite primjer da vidite kako možete pitati i kakav organizirani odgovor može doći.
Vraća se uredan popis, kao što uredan račun popisuje što ste kupili.
Posjećuje stranice i čita ih za vas, uljudno.
Recite mu što tražite, svakodnevnim riječima.
Web je golem i velik dio je šum. Winnow čita relevantne stranice, zadržava korisne dijelove i ostavlja nered iza sebe. Pitate običnim riječima i dobivate organizirani odgovor s izvorima. Nema ništa novo za naučiti.
Manje ponavljajućih računa za upravljanje
Pet odvojenih alata i njihovo povezivanje
Samostalno hostani izvorni rad koji posjedujete
Winnow daje ponavljajućem izvornom radu jedan upravljani put. Tražilice, web stranice, API-ji, feedovi i datoteke ulaze u isti pokret; otkrivanje, dohvaćanje, parsiranje i tipizirani izlaz dijele jednu politiku i jedan zapis. Operacije dobivaju ponovljiv proces umjesto pet kolektora koji se razilaze.
Svaki rezultat zadržava svoj trag izvora
Asistent koji za vas prikuplja činjenice
Kada Fabric treba aktualne informacije, Winnow prikuplja relevantne dijelove iz izvora odabranih za uslugu i vraća uredan rezultat s priloženim izvorima. Ne konfigurirate scrapere niti pišete kod; Winnow radi u pozadini i vodi zapis o tome kako su informacije prikupljene.
robots.txt, ograničenja brzine, SSRF zaštita po dizajnu
1.325 scrapera za web stranice, 28 tražilica, 325 kolektora
Scrapy, Selenium, proxyji, prilagođene skripte
Winnow pretvara pitanje, cilj ili uvjet praćenja u ponovljivu kolektorsku rutu. Otkrivanje obuhvaća tražilice i katalog scrapera; dohvaćanje eskalira od HTTP-a do automatizacije preglednika; parsiranje normalizira rezultat u tipizirani tekst, JSON, JSONL, CSV ili HTML. Svaki zahtjev prolazi kroz zajedničke kontrole brzine, robots, SSRF i revizije.