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.
L-algoritmi jiggruppaw skont it-tip ta' data
Matriċi ta' kapaċitajiet li tista' tiskrollja
Riżultati ttajpjati għas-sistema li jmiss
Is-servers tiegħek, reġjun tal-UE, jew iżolat
Governanza tal-għarfien fuq sorsi miġbura minn Winnow.
Indiċi dejta miġbura għal irkupru rapidu.
Parse l-output ta' Winnow fi siġar b'indirizz tal-kontenut.
Ibda b'mistoqsija rikorrenti waħda. Winnow jibdilha f'rotta msemmija b'sorsi espliċiti, regoli kondiviżi tal-fetch, output ttajpjat, u rekord ta' ġirja li s-sistema li jmiss tista' teżamina.
Is-sors mhuwiex iċ-ċentru. Il-mistoqsija hi
F'66 kategorija. Plus 28 magni, 325 kolletturi.
Core m'għandux dipendenzi runtime. Il-browser stealth huwa fakultattiv, Python.
Il-folja tal-proġett tirrekordja x'jinkludi: binarju Rust kompatt, il-katalgu ta' scrapers u kolletturi, formati tal-output, kontrolli tat-talbiet, rabtiet tal-lingwa, u l-erba' uċuħ ta' integrazzjoni użati mill-bqija tal-istack.
Mexxi Winnow bħala binarju wieħed, ipplaggjah bħala crates ta' Rust, mexxih bħala servizz HTTP axum, jew ibnih għall-browser u l-edge. L-istess scrapers u l-istess forma ta' output jaħdmu fl-erba' modi kollha.
Kopertura ta' scrapers mibnija minn qabel
Scrapers mibnija minn qabel għas-sorsi li l-analisti diġà jużaw, minn portali tal-gvern u tax-xjenza għal aħbarijiet, finanza, u data miftuħa. Kull scraper huwa struct tipizzat ta' Rust. Scrapers personalizzati jidħlu maġenb dawk mibnija u jsegwu l-istess kuntratt ta' output.
Għal kull talba: sors, URL, timestamp, status, kontenut hash.
Meded ta' netwerks privati huma mblukkati f'kull input ta' URL.
Barmil ta' tokens għal kull dominju mqabbel mal-politika dokumentata ta' kull sors.
Iċħad b'mod awtomatiku. Dominji mhux cached jiġu rrifjutati sakemm jinkiseb robots.txt.
Winnow jinfurza robots.txt b'politika ta' ċaħda awtomatika, limiti ta' rata għal kull dominju, protezzjoni SSRF, psewdonimizzazzjoni GDPR, u reġistru ta' verifika għal kull talba bħala restrizzjonijiet tad-disinn, mhux settings fakultattivi. Dak li jaqa' barra mill-kontroll ta' Winnow: il-bażi legali tal-operatur għall-ġbir ta' data, għażliet ta' minimizzazzjoni tad-data, u deċiżjonijiet ta' żamma downstream. Din il-paġna ma titlobx ċertifikazzjoni GDPR għax librerija ma tistax tagħmel dik id-determinazzjoni f'ismek.
test, JSON, JSONL, CSV, jew HTML. Favorevoli għall-pipes.
Seletturi CSS jestrattaw kampji tipizzati mid-DOM.
L-ewwel HTTP sempliċi, imbagħad stealth HTTP, imbagħad browser biss jekk ikun imblukkat.
28 magni tat-tfittxija mistħarrġa b'mod parallel, riżultati magħquda u kklassifikati.
Query waħda ssir rekords strutturati permezz ta' erba' stadji. Discovery jistaqsi 28 magni ta' tfittxija b'mod parallel. Fetch jeskala minn HTTP sempliċi għal talbiet b'traċċa TLS għal browser moħbi, biss meta sit jibblokka b'mod attiv. Parse imexxi scrapers tipizzati fuq id-DOM. Output jikteb wieħed minn ħames formati fuq stdout.
Kull magna ta' tfittxija għandha l-API, il-kwoti, u l-wrapper tagħha.
Servizzi ta' rotazzjoni jżidu billing separat u varjazzjoni fil-kwalità tal-IP.
Selenium jew Playwright iżid wiċċ ta' operazzjonijiet separat u spiża ta' riżorsi.
Kodiċi fraġli għal kull sit li jinkiser fis-skiet meta l-markup jinbidel.
Ħafna stacks ta' ġbir ta' data jgħaqqdu scrapers, browsers headless, servizzi ta' proxy, wrappers ta' tfittxija, u skripts ta' manutenzjoni personalizzati. Is-saff tal-glue jsir il-proġett. Kull għodda għandha l-wiċċ ta' operazzjonijiet tagħha, il-mudell ta' billing tagħha, u l-assunzjonijiet ta' edukazzjoni tagħha.
Bażi legali, minimizzazzjoni, u żamma jibqgħu miegħek. Winnow jirrekordja dik id-deċiżjoni; ma jagħmilhiex għalik.
Kull talba tiġi rreġistrata bis-sors, l-indirizz, il-ħin, u r-riżultat.
Identifikaturi jistgħu jiġu psewdonimizzati hekk kif tinġabar id-data, mhux miġjuba b'mod mhux ipproċessat.
Il-politika ta' robots u l-limiti ta' rata għal kull dominju huma infurzati mill-ewwel talba.
Il-ġbir ta' data mill-web iġorr riskji reali: li tiġi bblokkjat, li timmaniġġja data personali, li talbiet jilħqu indirizzi mhux sikuri, u li ma jkollok l-ebda rekord ta' dak li ġara. Winnow jimmaniġġja kull wieħed minn dawn mill-bidu, b'regoli ta' edukazzjoni, psewdonimizzazzjoni, protezzjoni kontra destinazzjonijiet mhux sikuri, u log għal kull talba. Dak li ma jagħmilx huwa li jippretendi li jagħmel id-deċiżjonijiet legali tiegħek. Il-bażi legali tiegħek, kemm iżżomm, u kemm iżżommha jibqgħu s-sejħa tiegħek, u ma nagħmlu l-ebda talba ta' ċertifikazzjoni li librerija ma tistax tagħmel b'mod onest.
Politika waħda u rekord wieħed ta' ġirja
Li tintewa l-istack f'binary wieħed ifisser ħaġa waħda biex titgħallem, titmexxa, u tissewwa, minflok ħamsa flimkien mal-ħjatat tagħhom.
Scrapers fraġli għal kull sit u l-iskripts tal-glue li jżommu l-istack flimkien jikkunsmaw ħin tal-inġinier b'mod kwiet xahar wara xahar.
Rotazzjoni ta' proxy u kwoti ta' tfittxija huma bbiljati bl-użu. Binary self-hosted fuq infrastruttura li diġà tħallas għaliha m'għandux kont sorpriża ta' traffiku.
Stack ta' ġbir normalment jinfired fuq scrapers speċifiċi għas-sit, awtomazzjoni tal-browser, immaniġġjar ta' proxies, konnetturi tat-tiftix, u kodiċi ta' kollegament. Winnow jikkoordina dawk il-partijiet li jiċċaqilqu taħt politika waħda ta' ġiri, sabiex l-operazzjonijiet ikunu jistgħu jsewwu rotta waħda, josservaw rekord wieħed, u jirrepetu mistoqsija waħda.
Inputs, ħin, deċiżjonijiet, u riżultati jibqgħu disponibbli għal ripetizzjoni u reviżjoni.
Parsing, psewdonimizzazzjoni, normalizzazzjoni, u regoli tal-output huma espliċiti.
Limiti tar-rata, politika tar-robots, retries, u protezzjoni ta' indirizzi mhux sikuri jivvjaġġaw mar-rotta.
Kull magna tat-tiftix, sit, API, feed, u fajl huwa msemmi fil-ġirja.
Xogħol ta' ġbir rikorrenti m'għandux iġib ruħu bħal ħames scripts mhux relatati. Winnow jagħti lill-iskoperta, il-fetching, il-parsing, in-normalizzazzjoni, l-output, u r-rekord tal-ġirja rotta waħda kondiviża, filwaqt li d-deploy jibqa' għażla operazzjonali separata.
Emit JSON, CSV, streams, rekords maħżuna, jew il-forma ta' rispons li l-fluss tax-xogħol tiegħek jistenna.
Skopri, iġib, parse, u output jaqsmu politika waħda u rekord wieħed tal-ġirja.
Magni tat-tiftix, websajts, APIs, feeds, u fajls jistgħu jidħlu fl-istess ġirja.
Winnow jibda b'mistoqsija, jiddeċiedi liema uċuħ tas-sors jappartjenu fil-ġirja, jiskopri kandidati, iġibhom b'mod edukat, jipparse l-materjal utli, u jarmi riżultati tipati. Ir-rotta hija rreġistrata sabiex l-istess xogħol jista' jkun ripetut u rivedut.
Jikteb dak li żar, sabiex it-tweġiba tkun diġà hemm jekk xi ħadd jistaqsi.
Jista' jaħdem kompletament fl-Ewropa, fuq magni li tafdahom.
Issegwi r-regoli li kull websajt tistabbilixxi u jistenna t-tieġ tiegħu.
Kull riżultat iżomm in-noti tas-sors tiegħu u r-rotta tal-ġbir, sabiex is-servizz ikun jista' juri minn fejn ġiet l-informazzjoni.
L-ewwel mistoqsijiet huma sensibbli: jista' dan jikkawża problemi, fejn tmur l-informazzjoni tiegħi, u kif nista' nara x'għamel? Hawn huma t-tweġibiet ċari. Kura u ftuħ huma mibnija f'Winnow mill-bidu, mhux mibjugħa bħala extra.
Il-lista hija fajl żgħir li tista' tissejvja u terġa' lura għalih, mhux xi ħaġa li tisparixxi.
Kull linja tgħid minn fejn ġiet, biex dejjem tkun tista' tħares lejn is-sors int stess.
L-imbarazz jitneħħa. Tara l-partijiet utli li tlabt u minn fejn ġiet kull waħda.
Minflok munzell ta' websajts biex taqra, ikollok lista waħda ċara b'linja għal kull oġġett u nota li turi minn fejn ġiet. Aqraha, stampaha, jew żommha. Tbiddel tħabbil ta' tabs miftuħa f'rekord li tista' tiċċekkja aktar tard.
Kull karta turi eżattament it-tip ta' ħaġa li tgħid, biex qatt ma tibqa' mwaħħla.
M'hemmx menus jew settings li trid tissielet magħhom. Int biss tistaqsi.
Iddeskrivi dak li trid bil-kliem ta' kuljum tiegħek, bħal meta tkellem lil persuna.
M'għandekx bżonn kliem speċjali. Staqsi għal aħbarijiet fuq suġġett, prezzijiet minn ftit ħwienet, avviż uffiċjali, jew il-ħinijiet ta' avveniment. Agħżel eżempju biex tara kif tista' tistaqsi u x'tip ta' tweġiba organizzata tista' tirritorna.
Tiġi lura lista pulita, bħalma riċevuta ordnata telenka dak li xtrajt.
Iżur il-paġni u jaqrahom għalik, bil-pulit.
Għidlu dak li qed tfittex, bil-kliem ta' kuljum.
Il-web huwa enormi u ħafna minnu huwa storbju. Winnow jaqra l-paġni rilevanti, iżomm il-partijiet utli, u jħalli l-imbarazz warajh. Tistaqsi b'kliem ċar u tikseb tweġiba organizzata bis-sorsi tagħha. M'hemm xejn ġdid x'titgħallem.
Jaħdem fi ħdan l-Ewropa, int tikkontrollah
Ħames għodod separati u l-adeżiv tagħhom
Xogħol sors li jospita waħdu li inti tippossjedi
Winnow jagħti xogħol rikorrenti ta' sors rotta waħda governata. Magni tat-tiftix, websajts, APIs, feeds, u fajls jidħlu fl-istess ġirja; skoperta, ġbir, parsing, u output ittajpjat jaqsmu politika waħda u rekord wieħed. L-operazzjonijiet jiksbu proċess ripetibbli minflok ħames kolletturi li jitbegħdu minn xulxin.
Kull riżultat iżomm it-traċċa tas-sors tiegħu
Meta Fabric ikollu bżonn informazzjoni kurrenti, Winnow jiġbor il-biċċiet rilevanti mis-sorsi magħżula għas-servizz u jirritorna riżultat pulit bis-sorsi tiegħu mwaħħla. Inti ma tikkonfigurax scrapers jew tikteb kodiċi; Winnow jaħdem taħt u jżomm rekord ta' kif l-informazzjoni nġabret.