← Voltar às receitas

Raspar e armazenar dados de página

Extraia conteúdo da página, salve no armazenamento do espaço de trabalho e indexe para pesquisa de texto completo.

Scraping e extração Iniciante JavaScript scrape_and_store.js

Pré-requisitos

  • Um espaço de trabalho Guida aberto

Resultado esperado

O Guida armazena um registro de página extraída no armazenamento do espaço de trabalho e o indexa para pesquisa.

Exemplo de código-fonte

scrape_and_store.js

Esta receita combina navegação do navegador, extração DOM, armazenamento do espaço de trabalho e indexação de pesquisa de texto completo.

// Raspar e armazenar — extrair dados e salvar
//
// Este script navega para uma página, extrai dados estruturados
// usando consultas DOM e salva resultados no armazenamento do espaço de trabalho.
// Combina automação de navegador, extração de dados e persistência.
// Requer um espaço de trabalho aberto.
const targetUrl = "https://example.com";
const collection = "scraped-pages";
// Garantir que exista uma guia de navegador
await g.tabs.newBrowserTab();
g.log("Navegando para " + targetUrl + "...");
await g.nav.navigateToUrl(targetUrl);
// Extrair dados da página
const title = await g.page.executeJS("document.title");
const heading = await g.dom.extractContent("h1");
const bodyText = await g.dom.extractContent("p");
// Montar um registro estruturado
const pageData = {
url: targetUrl,
title: title,
heading: heading,
excerpt: bodyText ? bodyText.substring(0, 200) : "",
scrapedAt: new Date().toISOString()
};
g.log("Extraído: " + pageData.title);
// Salvar no armazenamento do espaço de trabalho
const key = targetUrl.replace(/[^a-zA-Z0-9]/g, "-");
g.store.put(collection, key, pageData);
g.log("Salvo no armazenamento: " + collection + "/" + key);
// Indexar para pesquisa de texto completo
g.search.index({
_key: key,
_collection: collection,
title: pageData.title,
heading: pageData.heading,
excerpt: pageData.excerpt,
url: pageData.url
});
g.log("Indexado para pesquisa");
// Verificar: consultar de volta
const results = g.search.query("example");
if (results && results.length > 0) {
g.log("A pesquisa encontrou " + results.length + " resultado(s)");
}