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-extractorNota: 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ção | Tipo | Descrição |
|---|---|---|
lang | string | Idioma (ex: "eng", "por", "deu"). |
transformSrc | function | Função para tratar o src antes do download (ex: resolver URLs relativas). |
ocrOptions | object | Configuraçõ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}`
})