|
@@ -1,7 +1,7 @@ |
|
|
import { Injectable, Logger, Scope } from '@nestjs/common'; |
|
|
import { Injectable, Logger, Scope } from '@nestjs/common'; |
|
|
import puppeteer, { Browser, Page } from 'puppeteer'; |
|
|
import puppeteer, { Browser, Page } from 'puppeteer'; |
|
|
import pdfparse from 'pdf-parse'; |
|
|
import pdfparse from 'pdf-parse'; |
|
|
import { getUnixTime } from 'date-fns'; |
|
|
|
|
|
|
|
|
import { getUnixTime, parse } from 'date-fns'; |
|
|
|
|
|
|
|
|
import { certidaoResult } from '../../utils/certidao.utils'; |
|
|
import { certidaoResult } from '../../utils/certidao.utils'; |
|
|
import { Situacao } from 'src/enums/situacao.enum'; |
|
|
import { Situacao } from 'src/enums/situacao.enum'; |
|
@@ -38,8 +38,7 @@ export class ScraperCndMtServise { |
|
|
return certidaoResult(Situacao.Positiva) |
|
|
return certidaoResult(Situacao.Positiva) |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
await this._page.waitFor(8000) |
|
|
|
|
|
console.log(this.resultadoScraping) |
|
|
|
|
|
|
|
|
await this._page.waitFor(8000); |
|
|
|
|
|
|
|
|
return this.resultadoScraping; |
|
|
return this.resultadoScraping; |
|
|
} catch (error) { |
|
|
} catch (error) { |
|
@@ -89,7 +88,6 @@ export class ScraperCndMtServise { |
|
|
|
|
|
|
|
|
private async carregarNavegadorPaginaInicial() { |
|
|
private async carregarNavegadorPaginaInicial() { |
|
|
this.browser = await puppeteer.launch({ |
|
|
this.browser = await puppeteer.launch({ |
|
|
headless: false, |
|
|
|
|
|
defaultViewport: null, |
|
|
defaultViewport: null, |
|
|
}); |
|
|
}); |
|
|
|
|
|
|
|
@@ -193,18 +191,17 @@ export class ScraperCndMtServise { |
|
|
|
|
|
|
|
|
let inicioSeletor = data.text.indexOf('válida até:'); |
|
|
let inicioSeletor = data.text.indexOf('válida até:'); |
|
|
|
|
|
|
|
|
const posicaoInicialDataValidade = inicioSeletor + 13; |
|
|
|
|
|
|
|
|
const posicaoInicialDataValidade = inicioSeletor + 12; |
|
|
const posicaoFinalDataValidade = posicaoInicialDataValidade + 10; |
|
|
const posicaoFinalDataValidade = posicaoInicialDataValidade + 10; |
|
|
|
|
|
|
|
|
const dataValidade = new Date(data.text.slice(posicaoInicialDataValidade, posicaoFinalDataValidade)); |
|
|
|
|
|
|
|
|
|
|
|
let inicioSeletorDataEmissão = data.text.indexOf('Data da emissão:'); |
|
|
let inicioSeletorDataEmissão = data.text.indexOf('Data da emissão:'); |
|
|
|
|
|
|
|
|
const posicaoInicialDataEmissao = inicioSeletorDataEmissão + 18; |
|
|
|
|
|
|
|
|
const posicaoInicialDataEmissao = inicioSeletorDataEmissão + 17; |
|
|
const posicaoFinalDataEmissao = posicaoInicialDataEmissao + 10; |
|
|
const posicaoFinalDataEmissao = posicaoInicialDataEmissao + 10; |
|
|
|
|
|
|
|
|
const dataEmissao = new Date(data.text.slice(posicaoInicialDataEmissao, posicaoFinalDataEmissao)); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const dataValidade = parse((data.text.slice(posicaoInicialDataValidade, posicaoFinalDataValidade)), 'dd/MM/yyyy', new Date()); |
|
|
|
|
|
const dataEmissao = parse((data.text.slice(posicaoInicialDataEmissao, posicaoFinalDataEmissao)), 'dd/MM/yyyy', new Date()); |
|
|
|
|
|
|
|
|
if(dataEmissao && dataValidade && cndFile) { |
|
|
if(dataEmissao && dataValidade && cndFile) { |
|
|
this.logger.log('Scraping concluído'); |
|
|
this.logger.log('Scraping concluído'); |
|
|
this.resultadoScraping = { |
|
|
this.resultadoScraping = { |
|
|