Skyvern + Navegador de Raspagem Sem Resíduos: Um Agente de IA na Nuvem
Advanced Bot Mitigation Engineer
Skyvern é um agente de navegador que decide o que fazer analisando a página: ele captura uma captura de tela da tela, um modelo de visão lê isso e o agente clica, digita ou lê com base no que vê. Direcione o navegador do agente para o Scrapeless Scraping Browser através do Chrome DevTools Protocol e ele controla um Chromium na nuvem com saída residencial em vez de um navegador que você executa e oculta em sua própria máquina.
A combinação é uma escolha natural. Skyvern fornece o raciocínio — transforma um objetivo em linguagem simples em uma sequência de ações do navegador — e o Scraping Browser fornece o ambiente de execução no qual o agente atua. Este guia instala o runtime local do Skyvern, o direciona para o Scrapeless Scraping Browser através de uma conexão CDP, lhe entrega um objetivo em uma frase e assiste ao cumprimento da tarefa, com a execução do agente feita ao vivo contra o navegador na nuvem.
Por que executar o Skyvern no Scrapeless Scraping Browser
Um agente de visão é tão útil quanto o navegador que ele controla. Execute o Skyvern contra um Chromium local e você possui todo o ambiente de execução: o processo do navegador, sua memória, seu único IP de saída e o que um site movimentado faz com esse IP. Direcionando-o para o Scraping Browser, essa parte se desloca para a nuvem — o agente se conecta via CDP a uma sessão do Chromium que o Scrapeless renderiza e mantém, com saída residencial que você pode vincular a um país. Os detalhes da conexão que ele utiliza são aqueles na documentação do Scraping Browser.
Nada sobre o agente muda. Skyvern ainda captura telas, raciocina e age; ele simplesmente atua dentro de um navegador na nuvem acessado através de um WebSocket em vez de um local. Isso mantém o raciocínio do seu lado e a frota de navegadores do lado do Scrapeless, que é a divisão desejada quando um objetivo abrange muitas páginas ou um site é seletivo quanto ao tráfego que serve.
Pré-requisitos
Você precisa do Python 3.11 ou mais recente, do extra local do Skyvern, de uma chave da API Scrapeless para a sessão do navegador e de uma chave para um modelo com capacidade de visão. Obtenha a chave Scrapeless no plano gratuito em app.scrapeless.com. O modo local do Skyvern executa o agente no processo, portanto, não é necessário um servidor ou banco de dados separado para a execução abaixo.
Instalação
Instale o Skyvern com o extra local, que puxa o ambiente de execução do agente integrado:
bash
pip install "skyvern[local]"
Configuração
Duas chaves vão no ambiente: a chave Scrapeless para o navegador e a chave do modelo para as chamadas de visão do agente.
bash
export SCRAPELESS_API_KEY="sua_chave_api_scrapeless"
export OPENROUTER_API_KEY="sua_chave_api_modelo"
Aponte o Skyvern para o navegador na nuvem e execute uma tarefa
O Skyvern lê sua configuração de navegador e modelo das configurações, então defina-as no código antes de construir o cliente: BROWSER_TYPE=cdp-connect informa ao Skyvern para se conectar a um navegador existente, BROWSER_REMOTE_DEBUGGING_URL é o endpoint CDP do Scrapeless, e as configurações do OpenRouter selecionam um modelo com capacidade de visão. Depois, Skyvern.local() executa o agente em processo e run_task recebe o objetivo como uma frase. A conexão usa o Chrome DevTools Protocol sobre o protocolo WebSocket:
python
import os
from urllib.parse import urlencode
TOKEN = os.environ["SCRAPELESS_API_KEY"]
CDP_URL = "wss://browser.scrapeless.com/api/v2/browser?" + urlencode(
{"token": TOKEN, "sessionTTL": 300, "proxyCountry": "US"})
os.environ.update({
"BROWSER_TYPE": "cdp-connect",
"BROWSER_REMOTE_DEBUGGING_URL": CDP_URL,
"ENABLE_OPENROUTER": "true",
"OPENROUTER_MODEL": "google/gemini-2.5-flash-lite",
"LLM_KEY": "OPENROUTER",
"LLM_CONFIG_SUPPORT_VISION": "true",
})
import asyncio
from skyvern import Skyvern
async def main():
skyvern = Skyvern.local(use_in_memory_db=True)
task = await skyvern.run_task(
prompt="Encontre a primeira citação na página e relate o nome de seu autor.",
url="https://quotes.toscrape.com/",
wait_for_completion=True,
max_steps=3,
)
print("status da tarefa:", task.status)
print("motor:", task.run_request.engine)
asyncio.run(main())
O agente se conecta ao navegador na nuvem, trabalha no objetivo e finaliza:
text
status da tarefa: concluída
motor: skyvern-1.0
Obtenha sua chave API no plano gratuito: app.scrapeless.com
O que o agente realmente fez
Por trás daquela linha de status, o Skyvern executou seu loop contra o navegador Scrapeless. Ele capturou uma captura de tela da página renderizada, enviou a imagem para o modelo de visão com o objetivo, e o modelo retornou uma ação — aqui ele reconheceu que a primeira citação e seu autor já estavam na tela e marcou o objetivo como completo. Em uma tarefa que requer interação, o mesmo loop clica em um botão, preenche um campo ou rola, faz uma nova captura de tela e re-examina, até o max_steps que você definir. Cada uma dessas ações é executada dentro do Chromium na nuvem, não na sua máquina, e o proxyCountry na conexão decide de onde o tráfego sai.
Um agente que atua em seu nome ainda trabalha dentro dos limites de um site: aponte-o para páginas públicas, respeite os termos do site e suas diretivas do Protocolo de Exclusão de Robôs, e mantenha o orçamento de etapas modesto. A divisão de trabalho é o ponto: o Skyvern toma as decisões e o Navegador de Extração possui o navegador. Para outra estrutura de agente no mesmo runtime, o guia sobre executar o Uso de Navegador no Scrapeless cobre a mesma conexão a partir de um agente diferente.
Conclusão
O Skyvern transforma uma frase em ações do navegador, e o Navegador de Extração Scrapeless dá a essas ações um runtime na nuvem para acontecer. Defina BROWSER_TYPE=cdp-connect com o endpoint Scrapeless CDP, execute Skyvern.local() com um modelo capaz de visão, e o agente controla um Chromium na nuvem com saída residencial — a execução acima completou um objetivo de ponta a ponta sem navegador local em nenhum lugar. Veja o que o runtime oferece na página do produto Navegador de Extração e pese o volume de agentes, que consome tanto tempo de navegador quanto tokens de modelo, contra a página de preços antes de escalar.
Junte-se à nossa comunidade para reivindicar um plano gratuito e trocar informações com outros desenvolvedores que constroem agentes de navegador: Discord · Telegram.
Perguntas Frequentes
P: O que o Skyvern faz que um script não faz?
O Skyvern decide as ações em vez de você codificá-las. Ele captura uma captura de tela da página, um modelo de visão lê a captura em relação ao seu objetivo, e o agente escolhe o que clicar, digitar ou ler — assim, ele se adapta a um layout que não viu em vez de seguir seletores que você codificou rigidamente.
P: Como o Skyvern se conecta ao Navegador de Extração Scrapeless?
Através de uma conexão CDP. Defina BROWSER_TYPE=cdp-connect e BROWSER_REMOTE_DEBUGGING_URL para o endpoint Scrapeless wss://browser.scrapeless.com/api/v2/browser?token=..., e o Skyvern se conecta a esse Chromium na nuvem em vez de iniciar um navegador local.
P: Preciso de um banco de dados Postgres ou de um servidor em execução?
Não para isso. Skyvern.local(use_in_memory_db=True) executa o agente em processo com um banco de dados em memória, o que é suficiente para conduzir uma tarefa. Um servidor separado e Postgres são necessários apenas para o serviço Skyvern auto-hospedado, não para a execução local mostrada aqui.
P: Qual modelo o agente usa?
Um modelo capaz de visão, porque o agente raciocina sobre capturas de tela. O exemplo se encaminha para google/gemini-2.5-flash-lite através do OpenRouter com LLM_CONFIG_SUPPORT_VISION=true; o Skyvern também suporta OpenAI, Anthropic, Gemini e outros provedores através das mesmas configurações.
P: Como evito que o agente execute por muito tempo?
Defina max_steps na tarefa. Cada passo é um ciclo de captura de tela-raciocínio-ação, então um orçamento pequeno limita quantas ações — e quantas chamadas de modelo — uma única tarefa pode realizar antes de parar.
P: De onde vem o tráfego?
Do egress residencial do navegador cloud Scrapeless, não da sua máquina. O parâmetro proxyCountry na URL da conexão fixa esse egress a um país, que é o que uma página com geo-bloqueio utiliza para chaves de conteúdo.
P: Posso executar uma estrutura de agente diferente da mesma maneira?
Sim. Qualquer agente que se conecta a um navegador via CDP pode se conectar ao mesmo endpoint Scrapeless, assim, o runtime é compartilhado entre estruturas enquanto cada uma traz seu próprio raciocínio.
Na Scorretless, acessamos apenas dados disponíveis ao público, enquanto cumprem estritamente as leis, regulamentos e políticas de privacidade do site aplicáveis. O conteúdo deste blog é apenas para fins de demonstração e não envolve atividades ilegais ou infratoras. Não temos garantias e negamos toda a responsabilidade pelo uso de informações deste blog ou links de terceiros. Antes de se envolver em qualquer atividade de raspagem, consulte seu consultor jurídico e revise os termos de serviço do site de destino ou obtenha as permissões necessárias.



