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.
Resultados tipados para o próximo sistema
Regras de fonte aplicadas ao longo do percurso
Os seus servidores, região UE ou isolado
Governação do conhecimento sobre fontes recolhidas pelo Winnow.
Indexe os dados recolhidos para recuperação rápida.
Analise a saída do Winnow em árvores endereçadas por conteúdo.
Comece com uma pergunta recorrente. O Winnow transforma-a num percurso nomeado com fontes explícitas, regras de recolha partilhadas, saída tipada e um registo de execução que o próximo sistema pode inspecionar.
Em 66 categorias. Mais 28 motores, 325 coletores.
O Core não tem dependências em tempo de execução. O navegador stealth é opcional, Python.
A ficha do projeto regista o que é incluído: um binário Rust compacto, o catálogo de scrapers e coletores, formatos de saída, controlos de pedidos, ligações de linguagem e as quatro superfícies de integração usadas pelo resto da pilha.
Execute o Winnow como um binário único, incorpore-o como crates Rust, execute-o como um serviço HTTP axum ou compile para o navegador e edge. Os mesmos scrapers e o mesmo formato de saída funcionam nos quatro modos.
Scrapers pré-construídos para as fontes que os analistas já utilizam, desde portais governamentais e científicos até notícias, finanças e dados abertos. Cada scraper é uma struct Rust tipada. Scrapers personalizados integram-se ao lado dos incorporados e seguem o mesmo contrato de saída.
Por pedido: fonte, URL, carimbo temporal, estado, hash de conteúdo.
Intervalos de rede privados bloqueados em todas as entradas de URL.
Baldes de tokens por domínio, correspondentes à política documentada de cada fonte.
Negar por predefinição. Domínios não armazenados em cache são recusados até que o robots.txt seja obtido.
O Winnow aplica o robots.txt com uma política de negação por predefinição, limites de taxa por domínio, proteção SSRF, pseudonimização GDPR e registo de auditoria por pedido como restrições de design, não definições opcionais. O que está fora do controlo do Winnow: a base legal do operador para recolher dados, escolhas de minimização de dados e decisões de retenção a jusante. Esta página não reivindica certificação GDPR porque uma biblioteca não pode fazer essa determinação em seu nome.
texto, JSON, JSONL, CSV ou HTML. Compatível com pipes.
Seletores CSS extraem campos tipados do DOM.
HTTP simples primeiro, depois HTTP furtivo, e um navegador apenas se bloqueado.
28 motores de pesquisa consultados em paralelo, resultados fundidos e classificados.
Uma consulta torna-se em registos estruturados através de quatro fases. A descoberta consulta 28 motores em paralelo. A obtenção escala de pedidos HTTP simples para pedidos com impressão digital TLS e, em seguida, para um navegador furtivo, apenas quando um site bloqueia ativamente. A análise executa raspadores tipados sobre o DOM. A saída escreve um de cinco formatos para a saída padrão.
Cada motor de busca tem a sua própria API, quotas e wrapper.
Os serviços de rotação adicionam faturação separada e variação na qualidade do IP.
O Selenium ou o Playwright adicionam uma superfície operacional separada e custo de recursos.
Código frágil por site que falha silenciosamente quando a marcação muda.
A maioria das pilhas de recolha de dados combina raspadores, navegadores sem cabeça, serviços de proxy, wrappers de pesquisa e scripts de manutenção personalizados. A camada de cola torna-se o projeto. Cada ferramenta tem a sua própria superfície operacional, o seu próprio modelo de faturação e os seus próprios pressupostos de cortesia.
O mundo exterior não é uma base de dados
Base legal, minimização e retenção permanecem consigo. A Winnow regista essa decisão; não a toma por si.
Cada pedido é registado com origem, endereço, hora e resultado.
Os identificadores podem ser pseudonimizados à medida que os dados são recolhidos, não sendo transportados em bruto.
A política de robots e os limites de taxa por domínio são aplicados desde o primeiro pedido.
Recolher dados da web acarreta riscos reais: ser bloqueado, lidar com dados pessoais, pedidos a chegar a endereços inseguros e não ter registo do que aconteceu. A Winnow lida com cada um destes desde o início, com regras de cortesia, pseudonimização, proteção contra destinos inseguros e um registo por pedido. O que não faz é fingir tomar as suas decisões legais. A sua base legal, quanto mantém e por quanto tempo mantém continuam a ser da sua responsabilidade, e não fazemos qualquer alegação de certificação que uma biblioteca não possa honestamente fazer.
Dobrar a pilha num único binário significa uma coisa para aprender, executar e corrigir, em vez de cinco mais as suas costuras.
Raspadores frágeis por site e os scripts de cola que mantêm a pilha unida consomem silenciosamente tempo de engenheiros mês após mês.
A rotação de proxies e as quotas de pesquisa são faturadas por utilização. Um binário autoalojado em infraestrutura que já paga não tem fatura de tráfego surpresa.
Uma stack de recolha costuma fragmentar-se em scrapers específicos de cada site, automação de navegadores, gestão de proxies, conectores de pesquisa e código de colagem. O Winnow coordena essas partes móveis sob uma única política de execução, para que as operações possam corrigir uma rota, observar um registo e repetir uma pergunta.
Entradas, tempos, decisões e resultados permanecem disponíveis para repetição e revisão.
As regras de análise, pseudonimização, normalização e saída são explícitas.
Limites de taxa, política de robots, tentativas e proteção contra endereços não seguros acompanham a rota.
Cada motor de pesquisa, site, API, feed e ficheiro é nomeado na execução.
Um trabalho de recolha recorrente não deve comportar-se como cinco scripts sem relação. O Winnow dá à descoberta, obtenção, análise, normalização, saída e ao registo de execução uma rota partilhada, enquanto a implementação permanece uma escolha operacional separada.
Emita JSON, CSV, streams, registos armazenados ou a forma de resposta que o seu fluxo de trabalho espera.
Descobrir, obter, analisar e emitir partilham uma política e um registo de execução.
Motores de pesquisa, websites, APIs, feeds e ficheiros podem entrar na mesma execução.
O Winnow começa com uma pergunta, decide quais as superfícies de fonte que pertencem à execução, descobre candidatos, obtém-nos educadamente, analisa o material útil e emite resultados tipados. A rota é registada para que o mesmo trabalho possa ser repetido e revisto.
Regista o que visitou, para que a resposta já esteja lá se alguém perguntar.
Pode funcionar inteiramente dentro da Europa, em máquinas em que confia.
Segue as regras que cada website define e espera pela sua vez.
Cada resultado mantém as notas da fonte e a rota de recolha, para que o serviço possa mostrar de onde veio a informação.
As primeiras perguntas são sensatas: isto pode causar problemas, para onde vai a minha informação e como posso ver o que fez? Aqui estão as respostas simples. O cuidado e a abertura estão incorporados no Winnow desde o início, não são vendidos como extras.
A lista é um pequeno ficheiro que pode guardar e a que pode voltar, não algo que desaparece.
Cada linha indica de onde veio, para que possa sempre consultar a fonte você mesmo.
A confusão é eliminada. Vê as partes úteis que pediu e de onde veio cada uma.
Em vez de uma pilha de sites para ler, recebe uma lista clara com uma linha para cada item e uma nota a indicar de onde veio. Leia-a, imprima-a ou guarde-a. Transforma um emaranhado de separadores abertos num registo que pode consultar mais tarde.
Cada cartão mostra o tipo exato de coisa que diria, para nunca ficar preso.
Não há menus ou definições com que lutar. Basta perguntar.
Descreva o que quer nas suas palavras do dia a dia, como a falar com uma pessoa.
Não precisa de palavras especiais. Pergunte por notícias sobre um assunto, preços de algumas lojas, um aviso oficial ou os horários de um evento. Escolha um exemplo para ver como pode perguntar e que tipo de resposta organizada pode receber.
Recebe uma lista organizada, como um recibo arrumado lista o que comprou.
Visita as páginas e lê-nas por si, educadamente.
Diga-lhe o que procura, em palavras do dia a dia.
A web é enorme e muito dela é ruído. Winnow lê as páginas relevantes, mantém as partes úteis e deixa a confusão para trás. Pergunta em palavras simples e recebe uma resposta organizada com as suas fontes. Não há nada de novo para aprender.
Regras de fonte e segurança incorporadas
Cinco ferramentas separadas e a sua cola
O Winnow dá ao trabalho recorrente de fontes uma rota governada. Motores de busca, sites, APIs, feeds e ficheiros entram na mesma execução; descoberta, obtenção, análise e saída tipificada partilham uma política e um registo. As operações ganham um processo repetível em vez de cinco coletores que se afastam.
Cada resultado mantém o seu rasto de origem
Um assistente que recolhe factos para si
Quando o Fabric precisa de informação atual, o Winnow recolhe as peças relevantes das fontes escolhidas para o serviço e devolve um resultado organizado com as suas fontes anexadas. Não configura scrapers nem escreve código; o Winnow trabalha nos bastidores e mantém um registo de como a informação foi recolhida.