84 estrelas no GitHub e a contagem continua. O Yozh Crawler + Scraper é gratuito, de código aberto e desenvolvido publicamente — dá-nos uma estrela se ele merecer o seu lugar na tua pilha de ferramentas.
v0.1.8 · O Yozh Crawler já está disponível

Extracção
fácil de dados da Web para agentes
de IA e pessoas

Uma ferramenta de código aberto para recolha e extração de dados. Comece a partir de um único URL, explore o site e obtenha dados estruturados à medida que as páginas são carregadas. Funciona com o MCP e ferramentas como o Claude e o Cursor, com predefinições prontas para plataformas de comércio eletrónico como a Amazon e o eBay.

84 Estrelas no GitHub
MIT Licença · Grátis para sempre
v0.1.8 Última versão
Open Scraper Tester
Scraper URL http://localhost:8000 Check ok Crawler URL http://localhost:8001 Check ok CyberYozh API Docs ↗ Get API Key ↗
Scrape Page
Batch Scrape
Crawler
Jobs
MCP
Crawl Parameters
Seed URL *
Scope Mode
same-domain
Max Depth
3
Max Pages
47
Per-domain RPS
1.0
Per-domain
1
Include Patterns (regex, one per line)
^https://amazon\.co\.uk/dp/
Exclude Patterns (regex, one per line)
/cart|/account|/checkout
Crawl Proxy⚠ crawl proxy=none — no IP rotation
Proxy Type
none
Enable scraping (keep raw_html / screenshot / extracted data per page)
Result
crawl_________________ · status: idle · visited: 0 / 30 · queued: 0 · failed: 0 · dedup: 0
Crawl progress and pages will appear here...
Novidades · v0.1.8

Rastreie sites completos e obtenha dados numa única execução

O Yozh Crawler mapeia toda a estrutura do site e processa as páginas à medida que estas são encontradas. Obtém-se tanto cobertura como resultados úteis numa única execução, sem necessidade de gerir etapas separadas de rastreamento e extração de dados. Funciona diretamente no âmbito dos seus fluxos de trabalho existentes de recolha de dados e extração.

Yozh Crawler, integrado NEW

Comece por um URL e mapeie todo o site. As páginas são detetadas e processadas numa única execução, pelo que obtém uma cobertura total sem passos adicionais.

Modo de descoberta NEW

Precisa apenas de links? Mude para o modo de descoberta e mapeie o site sem análise. Mais rápido, mais leve e útil para auditorias e verificações de estrutura.

Navegador discreto

Corresponde os cabeçalhos, a localização e os sinais do navegador ao seu proxy. Ajuda a manter a consistência das sessões em diferentes regiões.

Extracção em lote

Execute centenas de URLs numa única solicitação. Processe tudo em paralelo com um resultado único e claro.

Cancelamento em duas etapas NEW

Interrompa tarefas sem comprometer os resultados. Deixe as páginas ativas concluírem o que estão a fazer ou interrompa tudo instantaneamente, quando necessário.

Integração do MCP

Ligue-se diretamente a ferramentas como o Claude e o Cursor. Utilize técnicas de scraping e crawling como parte dos seus fluxos de trabalho existentes.

10 predefinições integradas

Amazon, eBay, Walmart, Google, Google Shopping, YouTube, LinkedIn, Bing, Yandex — basta passar o nome da fonte e os parâmetros para obter uma resposta normalizada. Não é preciso escrever seletores.

Autorrecuperação do LLM NEW

Um site implementa uma alteração no layout e os teus seletores CSS devolvem resultados vazios? O analisador solicita a um LLM (OpenAI / Anthropic / Gemini / OpenRouter) que regenere o seletor em tempo real. O pipeline continua a funcionar.

Predefinições geradas por IA NEW

Precisa de um site para o qual não disponibilizamos uma predefinição? Descreva o que pretende extrair e cole um URL de exemplo — POST /api/v1/presets/generate retorna um JSON de predefinição pronto a usar.

Sessões autenticadas NEW

Inicie sessão uma vez através de uma DSL declarativa (ir para / preencher / clicar / aguardar) ou cole os cookies exportados. Reutilize a sessão em cada processo de extração. Obrigatório para alvos protegidos, como a predefinição do LinkedIn.

Interface

Uma infraestrutura simples de scraping sob o seu controlo

Configure o seu fluxo de trabalho num único local e execute-o da forma que precisar. Tudo é claro, organizado e fácil de gerir, sem necessidade de ferramentas adicionais.

1

Proxies integrados, prontos a utilizar

Aceda a proxies residenciais, móveis e de centros de dados em mais de 120 países. Mais de 50 milhões de endereços IP com 99,9% de tempo de atividade. Inclui suporte à identificação de dispositivos para alinhar o comportamento do dispositivo, do navegador e da rede, garantindo sessões estáveis e um melhor controlo.

2

Extração flexível de dados

Utilize seletores CSS, XPath ou a deteção automática para sites populares. Obtenha JSON limpo e estruturado sem configurações complexas.

3

Todos os dados num único local

Obtenha HTML bruto, capturas de ecrã e dados analisados, tudo num só lugar. Tudo o que precisa, sem ter de alternar entre ferramentas.

4

Controlo simples e acesso ao MCP

Pode interromper as tarefas a qualquer momento com um clique e alternar entre o modo «scraper» e o modo «crawler». O seu fluxo de trabalho mantém-se simples e sob o seu controlo.

MCP · Protocolo de Contexto do Modelo

Agentes de IA concebidos para a extração de dados da Web e o rastreamento

Ligue o Yozh Crawler e o Yozh Scraper ao Claude, ao Cursor ou a qualquer cliente MCP. Alterne entre ferramentas com um único botão, sem necessidade de código adicional.

Funcionalidades de web scraping

Todas as funcionalidades do Yozh Scraper estão disponíveis como funções para o seu agente, incluindo a extração de dados, execuções em lote e capturas de ecrã.

Um minuto para estabelecer a ligação

Copie a configuração, reinicie o seu cliente e já está tudo pronto.

Funciona com qualquer cliente MCP

Claude Desktop, Cursor, Cline ou agentes personalizados.

Controlo total do conjunto de ferramentas

Escolha como o seu agente executa as tarefas, desde páginas individuais até lotes completos.

Faz como quiseres

Utilize um servidor MCP local ou implemente-o na sua própria infraestrutura.

// ~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "yozh-scraper": {
      "type": "http",
      "url":  "http://localhost:8000/mcp"
    },
    "yozh-crawler": {
      "type": "http",
      "url":  "http://localhost:8001/mcp"
    }
  }
}
// Cursor → Settings → MCP → Add new MCP Server
{
  "mcpServers": {
    "yozh-scraper": {
      "type": "http",
      "url":  "http://localhost:8000/mcp"
    },
    "yozh-crawler": {
      "type": "http",
      "url":  "http://localhost:8001/mcp"
    }
  }
}
// Cline → MCP Servers → Edit cline_mcp_settings.json
{
  "mcpServers": {
    "yozh-scraper": {
      "type": "http",
      "url":  "http://localhost:8000/mcp",
      "disabled": false
    },
    "yozh-crawler": {
      "type": "http",
      "url":  "http://localhost:8001/mcp",
      "disabled": false
    }
  }
}
// Anthropic Messages API · MCP via Streamable HTTP
// Note: scraper must be reachable from Anthropic's servers (deploy publicly)
import Anthropic from "@anthropic-ai/sdk";

const response = await new Anthropic().messages.create({
  model: "claude-opus-4-8",
  mcp_servers: [
    { type: "url", url: "https://your-host/mcp", name: "yozh-scraper" },
    { type: "url", url: "https://your-host:8001/mcp", name: "yozh-crawler" }
  ],
  messages: [...]
});
Guia completo de integração do MCP
Yozh Crawler · v0.1.8

Rastrear, transmitir e analisar páginas em tempo real

O Yozh Crawler começa a partir de um URL, descobre páginas em todo o site e processa-as à medida que são carregadas, fornecendo-lhe a estrutura completa e dados úteis numa única execução.

Transmissão em direto

As páginas são apresentadas à medida que são detetadas e processadas. Aceda diretamente a partir do seu cliente, agente ou pipeline, sem ter de esperar pela conclusão do processamento.

Modo de descoberta

Precisa apenas de links? Faça o mapeamento do site sem análise sintática. É mais rápido e mais económico para verificações de estrutura e auditorias.

Cancelamento em duas etapas

Encerre as tarefas com segurança. Deixe as páginas ativas terminarem ou encerre tudo instantaneamente, quando necessário.

Seletor de destino do MCP

Alterne entre o scraper e o crawler com um único botão. O seu agente utiliza a ferramenta adequada para cada tarefa.

Árvore do site em tempo real na interface do utilizador

Veja a estrutura do site a ser criada em tempo real. Acompanhe o progresso página a página sem sair do painel de controlo.

Result

crawl_a8f3c124b6e0d7 · status: idle · visited: 0 / 30 · queued: 0 · failed: 0 · dedup: 0 · out-of-scope: 0 · retries: 0
Site Map (0 pages)

                    
URL Parent Depth Status Took
Conjunto · Rastreador + Raspador

De um URL à cobertura completa do site

O rastreador encontra páginas, o extrator processa-as e o seu agente de IA utiliza os resultados, concebido tanto para principiantes como para especialistas.

Rastejador

Identifica todos os URLs

Yozh Scraper

Extrair para JSON

Agente de IA

Analisa e decide

Análise da concorrência

Acompanhe os catálogos, os preços e os detalhes dos produtos da concorrência num único local. Identifique lacunas nas suas próprias listagens e reaja mais rapidamente às mudanças do mercado.

Crawler JSON IA

Acompanhamento dos preços

Acompanhe automaticamente as variações de preço em diferentes plataformas de vendas. Defina alertas e receba notificações no Telegram ou no Slack sempre que os preços se alterarem.

Processamento em lote Agendamento Alertas

Dados de treino de ML

Recolha conjuntos de dados limpos e estruturados a partir de fontes públicas, prontos para análise ou treino de modelos. Concebido para uma recolha de dados fiável em grande escala.

Stealth Proxy JSON
Predefinições do Marketplace e do site

Comece já a fazer scraping com predefinições prontas a usar

Configurações regionais, moedas, seletores e medidas contra bots — já configuradas. Escolha uma predefinição para ver o que é extraído.

10 predefinições integradas · Auto-correção do LLM quando o layout de um site muda · crie as suas próprias a partir de um URL de exemplo Solicitar uma predefinição →

            

Every Amazon listing, normalized

All fields below are extracted automatically — no selectors to write.

Precisa de um site que ainda não tenhamos incluído?

Cria um ticket no GitHub ou contribui com a tua própria predefinição — analisamos os PRs no prazo de uma semana.

Abrir um ticket
Proxies

Proxies criados para a recolha de dados

Três tipos, seis configurações. Escolha consoante a tarefa, a velocidade e o orçamento.

Telemóvel 4G/5G

Dispositivos móveis reais em redes de operadoras. O nível de confiança mais elevado, com sistemas rigorosos de combate a bots.

Privado e dedicado from $1.7/day

Dispositivo pessoal, rotação manual de IP através da API

Partilhado from $0.9/day

Um dispositivo, vários utilizadores

Saiba mais sobre os proxies móveis
Como funciona

Cada endereço IP provém de um smartphone real ou de um modem LTE/5G ligado a uma das principais operadoras de telemóvel. O endereço IP é partilhado por milhares de assinantes regulares, pelo que bloqueá-lo bloquearia utilizadores reais — e é por isso que os sistemas anti-bot confiam mais nos endereços IP móveis.

Ideal para
  • Gestão de contas nas redes sociais
  • Medidas agressivas contra bots (Cloudflare, PerimeterX)
  • Trabalho de afiliados e verificação de anúncios
  • Tarefas que exigem uma confiança «semelhante à humana» de forma sustentada
Especificações
  • Redes 4G LTE e 5G em todo o mundo
  • Suporte a UDP, conectividade VPN VLS
  • Rotação manual de IP através da API ou de um link no painel de controlo
  • Ajuste da «impressão digital» do sistema operativo
  • Largura de banda ilimitada na maioria dos planos

Centro de dados

Velocidade máxima, custo mínimo. Mais de 2 milhões de endereços IP em centros de dados em todo o mundo.

Estática dedicada from $1.9/mo

Um endereço IP atribuído a si, tráfego ilimitado

Estática partilhada from $0.5/mo

Pool partilhado: a opção económica para tarefas simples

Saiba mais sobre os proxies de centro de dados
Como funciona

Os IPs estão alojados em centros de dados e não estão ligados a utilizadores domésticos ou móveis. São mais baratos e mais rápidos do que os IPs residenciais, mas os sistemas anti-bot podem identificá-los como não humanos; por isso, utilize-os em situações em que a confiança não seja essencial.

Ideal para
  • Extracção em grande volume de sites amigos
  • Ferramentas internas e testes de carga
  • Pontos de extremidade da API sem filtros de confiança de IP
  • Tarefas em que a velocidade é mais importante do que o disfarce
Especificações
  • Mais de 2 milhões de endereços IPv4 e IPv6
  • Configurações dedicadas ou partilhadas
  • Largura de banda ilimitada nos planos dedicados
  • Compatível com os protocolos HTTPS e SOCKS5
  • A menor latência dos três tipos
Escolha os proxies adequados ao seu caso de utilização → É necessário iniciar sessão
Ética · Não negociável

A ética está integrada na forma como gerimos a nossa plataforma

O código aberto é apenas o ponto de partida. A forma como os dados são recolhidos e como os proxies são obtidos é igualmente importante. Estes são os padrões que seguimos na prática, não meras declarações numa página.

Recolha ética de dados

Criamos ferramentas, não brechas. O Yozh Scraper foi concebido para tornar fiável a extração de dados públicos legítimos — e não para violar o que deve permanecer privado.

  • Apenas dados acessíveis ao público — por predefinição, não é permitida a extração de dados por utilizadores registados
  • Os limites de taxa integrados evitam a sobrecarga do servidor
  • Respeito pelo ficheiro robots.txt e pelo mapa do site por predefinição (pode ser alterado)
  • Não há recolha nem armazenamento de dados pessoais identificáveis — nem por parte da nossa empresa, nem por predefinição para os utilizadores
  • Ferramentas que o ajudam a manter a conformidade com o RGPD e a CCPA

Rede de proxy transparente

A origem dos endereços IP residenciais é o teste de honestidade para qualquer fornecedor de serviços de proxy. Eis de onde vêm os nossos — de forma explícita:

  • Rede de adesão voluntária. Os utilizadores reais dão o seu consentimento e ganham dinheiro por partilharem largura de banda
  • Pode cancelar a qualquer momento com um único clique, sem ter de dar explicações
  • Cadeia de abastecimento auditada com origem documentada
  • Sem malware, sem injeção oculta de SDK — nunca
  • Endereços IP móveis provenientes de dispositivos que possuímos e operamos, e não de telemóveis comprometidos

Resposta rápida a casos de abuso

Se alguém utilizar indevidamente a nossa infraestrutura para prejudicar outras pessoas, queremos saber — e tomar medidas antes que a situação piore.

  • Linha direta com uma pessoa de verdade, sem ter de passar por uma fila de tickets
  • Processo de investigação transparente para todas as denúncias legítimas
  • Cooperação ativa com as autoridades policiais em casos confirmados
  • Política relativa a abusos públicos, que não fica escondida nas letras pequenas
abuse-reports@cyberyozh.com
Average response time: 45 minutos

Se um caso de utilização envolver uso indevido ou danos, as nossas ferramentas não foram concebidas para esse fim. Damos prioridade à utilização responsável em detrimento do crescimento da base de clientes.

Se um caso de utilização exigir que se oculte a identidade para prejudicar outras pessoas, as nossas ferramentas não se destinam a isso. Ponto final. Preferimos perder o cliente do que comprometer os nossos princípios.

Apreciado pelas equipas de dados e pelos criadores de IA

O que dizem as pessoas que criam com o Yozh

5,0 / 5 · Crítica de 5
GitHub
Substituímos o nosso cluster interno do Playwright pelo Yozh numa tarde. O endpoint do MCP integrou-se diretamente no nosso agente Claude — sem qualquer código de ligação, o crawler e o scraper funcionaram logo.
Marcus Reinhardt Engenheiro de Dados Principal Northwind Analytics
X
O sistema de predefinições é a funcionalidade mais marcante. Passamos um nome de fonte e recebemos um JSON limpo em resposta; a correção automática chegou mesmo a detetar duas alterações no layout da Amazon antes de nos apercebermos.
Priya Nair Fundador ScrapeStack
Reddit
Finalmente, um scraper de código aberto que trata os proxies e as sessões como elementos de primeira classe. Executamo-lo em portais de parceiros que exigem início de sessão — as sessões mantêm-se ativas e os resultados permanecem consistentes em todas as regiões.
Daniel Osei Engenheiro de Backend Loopfeed
X
Liguei-o ao Cursor através do MCP e agora o meu agente obtém dados da Web em tempo real durante a execução da tarefa. O rastreio em tempo real através do SSE é exatamente o que faltava aos fluxos de trabalho do agente.
Elena Kovac Engenheiro de IA Vektor Labs
GitHub
Deixámos de utilizar uma API de extração de dados paga para reduzir custos e preparámo-nos para um declínio na qualidade — mas aconteceu o contrário. É auto-hospedada, não há cobrança por pedido e o esquema de saída é mais claro do que aquele pelo qual costumávamos pagar.
Sofia Almeida Gestor de Engenharia Tabbly
Registo de alterações

Registo de alterações e atualizações do Web scraping

O Yozh Scraper é de código aberto, estando todas as atualizações disponíveis no GitHub. Aqui estão os destaques mais recentes.

v0.1.8 10 Agosto 2026 Latest

v0.1.8

  • fingerprint_profile on POST /scrape/page, POST /scrape/pages and the crawler/search scrape_options: pin the Camoufox fingerprint's OS and WebGL vendor instead of Camoufox's per-launch random draw (which claimed an OS the server is not two launches in three). Profiles: auto (default, resolves to CAMOUFOX_FINGERPRINT_PROFILE, ships windows_on_host), windows_on_host, host, random, and the bare names windows / macos / linux. The old spoof_os keeps working and equals the three bare names; a caller stating both must not name conflicting operating systems. meta.applied_fingerprint reports what actually ran, including when a profile degraded. New env vars CAMOUFOX_FINGERPRINT_PROFILE (default windows_on_host) and HOST_GPU_VENDOR.
  • Extraction warns when a post_process pipeline nulls an entire column (every row) — a fourth class of silent failure the invalid/empty/length-mismatch selector checks did not cover. Reported only for a fully-nulled column with more than one row, or a scalar field; an optional value missing on a single row stays quiet.
  • GitHub Actions CI: pylint and pytest -m "not e2e" on every push and pull request, the checks the repo already defined but never enforced.
  • run_scrape now returns a typed envelope (ScrapeOk / ScrapeErr) built as the same pydantic models the API validates on the way out, with mypy over the queue surface. An older worker meeting a metadata value a newer API introduced degrades that field and keeps the fetched page, rather than dropping it. Internal refactor; the public HTTP response is unchanged.
  • session_id, cookies and render are now rejected with 422 on the Camoufox engine instead of being accepted and silently ignored (which returned a logged-out or non-rendered page that read as the site having changed). /search maps the rejection to a 400 rather than a 500.
v0.1.7 4 Agosto 2026

v0.1.7 — Pin mcp<2.0 so a fresh image build starts

  • mcp 2.0.0 made Server.__init__ keyword-only, which fastapi-mcp 0.4.x still calls positionally, so a clean docker build shipped services that raised TypeError in create_app() before serving anything. Both requirements.txt and yozh-crawler/requirements.txt now pin mcp>=1.28.1,<2. The floor keeps the fix for GHSA-vj7q-gjh5-988w (HIGH — WebSocket Host/Origin validation). Drop the ceiling once fastapi-mcp ships a release built against mcp 2.x.
v0.1.6 29 Julho 2026

v0.1.6 — Extraction/preset fixes (eBay, Walmart, Yandex, price) + selector-timeout classification

  • Preset extraction repaired for current site layouts:
  • eBay search — new s-card layout; price regex hardened against the was-price / prefix-class / nested-tag traps.
  • Walmart — recovered price and rating extraction (anchored so a strikethrough "was" price can't win); dropped google_shopping's dead urls field.
  • Yandex search — one row per organic block, so titles, links and snippets no longer drift out of alignment (a title could previously come back paired with the wrong result's link).
  • Price parsing no longer lets a label before the price swallow it: a leading digit is now required, so From $19.99 / Now 19.99 parse the number rather than the label. Currency symbols, thousands separators (US and EU), leading decimals and negatives still parse as before.
v0.1.5 24 Julho 2026

v0.1.5 — Queue goto-timeout retry fix + dependency security updates

  • The queue no longer retries a slow page as if the proxy were bad. A navigation (goto) timeout — the page was simply slow, the proxy is fine — used to burn the retry budget and rotate the proxy; it now gets one rotation at most and otherwise returns a timeout to the caller instead of looping. Genuine proxy failures (connection reset, tunnel/auth errors, net::ERR_*) still rotate and retry as before.
  • Dependency bumps clearing the outstanding advisories in the auxiliary tooling: examples/ (langchain-anthropic) and the local scraper-tester dev harness (express, qs, http-proxy-middleware, follow-redirects). No shipped scraper runtime or API change.
v0.1.0 9 Julho 2026 First release

v0.1.0 - Durable queue, Camoufox engine & CyberYozh proxy v2

  • New required services. Browsers no longer run inside the API process. You must now run the redis and scraper-worker services (both are already in docker-compose.yml). Scale capacity with docker compose up -d --scale scraper-worker=N.
  • POST /scrape/page and /scrape/pages can now return 503 queue_full when the Redis stream depth exceeds QUEUE_MAXSIZE (previously the in-memory queue was unbounded).
  • Removed env vars (ignored, warned at startup if set): JOB_TIMEOUT_MS → use PAGE_TASK_TIMEOUT_S; JOB_RESULT_MAX → eviction is now a native Redis TTL (JOB_RESULT_TTL_S); JOBS_ENABLED → the queue is always on.
  • New env vars: REDIS_URL, PAGE_TASK_TIMEOUT_S, LOGIN_TASK_TIMEOUT_S, LOGIN_RESULT_GRACE_S, RECLAIM_IDLE_S, JOB_RESULT_TTL_S, BROWSER_MAX_PAGES, BROWSER_IDLE_SHUTDOWN_S, WARMUP_DWELL_MS.
  • The in-process job queue and browser worker pool are replaced by a taskiq stream on Redis. The web-scraper container only enqueues page tasks and reads results; browsers run in separate, horizontally scalable scraper-worker containers.
Introdução rápida

Comece a fazer web scraping em segundos

Três comandos e já tem um scraper + crawler a funcionar com pontos de extremidade HTTP e MCP.

1 Clonar
git clone https://github.com/\
  CyberYozh-data/yozh-scraper
cd yozh-scraper
2 Correr
cp .env.example .env
docker compose up --build
3 Raspar
curl -X POST localhost:8000/api/v1/scrape/page \
  -H 'Content-Type: application/json' \
  -d '{"url":"https://example.com"}'
Documentação completa Ligar ao Claude / Cursor através do MCP →
Contacto · Apoio

Entre em contacto connosco

Uma pessoa de verdade lê tudo o que chega. Escolhe o canal que mais te convier — o Telegram é o mais rápido.

Escritório
Jurija Gagarina 231/329
Novi Beograd · Sérvia
Suporte em dois níveis, disponível praticamente 24 horas por dia A equipa de primeira linha está de serviço praticamente 24 horas por dia, 7 dias por semana. Os engenheiros seniores tratam dos casos mais complexos.
Código aberto · Licença MIT · 84 ★

Pronto para raspar?

O Yozh Crawler + Scraper é gratuito. Para sempre. Se o aplicativo te ajudar, dá-nos uma estrela — cada estrela conta.

O Yozh Crawler + Scraper é distribuído ao abrigo da licença MIT. Utilize-o. Faça um fork. Desenvolva com ele.