VIBE IN PUBLIC_

Web scraping no vibe coding: a Function parece bot e o YouTube bloqueia

Web scraping via Function no Supabase parece bot: o YouTube bloqueia o título. Avise os campos e deixe o usuário preencher na mão.

Web scraping no vibe coding do Bookbase, gerenciador de favoritos com extensão Chrome, passa pela Function do Supabase. Gabriel colou 1 link do YouTube para a Function buscar título e descrição da URL. O título do vídeo não veio: o site leu o fetch como bot e bloqueou.

como eu tô tentando acessar via função o site, eles entendem que é um bote, parece. E bloquei.

O recorte desta live é esse fetch no servidor. Pela extensão, como ele já está na página, o título vem. Da Function, o YouTube trata o acesso como bot. Ele pede tratativa: se a busca passar, dizer quais campos atualizaram; se não passar, informar para o usuário preencher na mão.

COMPARAÇÃO

Pela extensão

Ele já está na página. O título vem.

Pela Function

O fetch sai do servidor. O YouTube lê como bot e bloqueia o título.

A Function no Supabase e o YouTube que não entrega o título

Gabriel precisava implementar 1 Function e nunca tinha mexido nisso. O código que ele coloca vira um endpoint no Supabase, um micro serviço no mesmo lugar do banco, rodando sob demanda, esperando alguém chamar. O job: a pessoa cria 1 favorito, a Function acessa o site e pega metadados, título e descrição da página. O mesmo problema apareceu em open graph.

O título do YouTube não veio.

Não tá conseguindo puxar as informação nem a pau.

Ele bota o link e abre via script para extrair as informações. O diagnóstico do bot entra nesse acesso via função. Cola o YouTube e o automático não preenche o favorito.

S Ai do YouTube deu velho. Consigo puxar o título aqui automático.

No ASR, YouTube deu velho. O título automático não entrou no favorito. A live não mostra esse YouTube passando depois do pedido de tratativa.

Algumas buscas de metadados passam e outras não

Ele olhou o conjunto de buscas e mandou o prompt para o agente:

Notei que alguma busca pelos metadados funcionaram e outras não. Tem como fazer uma tratativa para informar quando a busca acontecer com sucesso e quais campos foram atualizados e quando não for possível informar pro usuário preencher manualmente.

Os campos são título e descrição. Busca ok, diz quais campos atualizaram; busca bloqueada, pede para o usuário digitar. O YouTube ficou na falha e outras buscas de metadados passaram, sem ele listar quais.

COMPARAÇÃO

Busca ok

Diz quais campos atualizaram, título e descrição.

Busca bloqueada

Informa para o usuário preencher na mão.

No mesmo fôlego vem o arrependimento do teste:

Ai ai devia ter testado antes com outras antes.

Faltou colar outras URLs antes de gravar. Na mesma live ficou o recorte de não dar select em 1000 favoritos a cada foco. Aqui o buraco é o web scraping da Function. Foi o mesmo caminho de vibe coding para verificar a empresa no stripe. Isso aparece também em vibe coding para o card inteiro ser o link. O mesmo problema apareceu em core web vitals.

No vibe coding da Function, avise o que atualizou e deixe preencher

No vibe coding de um gerenciador de favoritos, o builder cola 1 URL. Gabriel deixa no prompt a tratativa e o teste com outras, e a sessão grava o pedido. O YouTube preenchendo sozinho não entra neste recorte.

Noutra live a captura do título ficou no cliente, na página SPA. Nesta o fetch sai da Function no servidor.

Amanhã, no teste da Function que busca a URL, cola outras além do YouTube. Confere título e descrição em cada uma. A que passou, avise quais campos atualizaram. A que o servidor bloqueou, o usuário preenche na mão.

Dá para assistir à live e ouvir o bote e o YouTube deu velho.