Xcrap Logo

Extração de Imagem (OCR)

Extração de texto de imagens e captchas com @xcrap/image-text-extractor.

O pacote @xcrap/image-text-extractor integra o Tesseract OCR ao pipeline do Xcrap, permitindo extrair texto diretamente de elementos <img> durante o parsing do HTML.

Instalação

npm install @xcrap/image-text-extractor

Nota: Requer o binário do Tesseract instalado no sistema.

Como usar no Modelo de Extração

Você pode usar o extractImageText como um extrator assíncrono dentro do seu HtmlExtractionModel.

import { extractImageText } from "@xcrap/image-text-extractor";
import { HtmlExtractionModel, css } from "@xcrap/extractor";

const productModel = new HtmlExtractionModel({
    title: {
        query: css("h1"),
        extractor: "innerText"
    },
    specsFromImage: {
        query: css("img.specs-table"),
        // O extrator baixa a imagem e roda o OCR automaticamente
        extractor: extractImageText({ lang: "por" }) 
    }
});

Opções de Extração

OpçãoTipoDescrição
langstringIdioma (ex: "eng", "por", "deu").
transformSrcfunctionFunção para tratar o src antes do download (ex: resolver URLs relativas).
ocrOptionsobjectConfigurações específicas do Tesseract (config, oem, psm).

Exemplo com Transformação de URL

Muitas vezes o src da imagem é relativo. Você pode tratá-lo assim:

extractor: extractImageText({
    lang: "eng",
    transformSrc: (src) => src.startsWith('http') ? src : `https://site.com${src}`
})

On this page