Browse Source

Ajustando headless e captura de datas do PDF

master
andre.borges 2 years ago
parent
commit
a0e7a49762
1 changed files with 7 additions and 10 deletions
  1. +7
    -10
      src/modules/scraper-cnd-mt/scraper-cnd-mt.service.ts

+ 7
- 10
src/modules/scraper-cnd-mt/scraper-cnd-mt.service.ts View File

@@ -1,7 +1,7 @@
import { Injectable, Logger, Scope } from '@nestjs/common';
import puppeteer, { Browser, Page } from 'puppeteer';
import pdfparse from 'pdf-parse';
import { getUnixTime } from 'date-fns';
import { getUnixTime, parse } from 'date-fns';

import { certidaoResult } from '../../utils/certidao.utils';
import { Situacao } from 'src/enums/situacao.enum';
@@ -38,8 +38,7 @@ export class ScraperCndMtServise {
return certidaoResult(Situacao.Positiva)
}
}
await this._page.waitFor(8000)
console.log(this.resultadoScraping)
await this._page.waitFor(8000);
return this.resultadoScraping;
} catch (error) {
@@ -89,7 +88,6 @@ export class ScraperCndMtServise {

private async carregarNavegadorPaginaInicial() {
this.browser = await puppeteer.launch({
headless: false,
defaultViewport: null,
});

@@ -193,18 +191,17 @@ export class ScraperCndMtServise {
let inicioSeletor = data.text.indexOf('válida até:');
const posicaoInicialDataValidade = inicioSeletor + 13;
const posicaoInicialDataValidade = inicioSeletor + 12;
const posicaoFinalDataValidade = posicaoInicialDataValidade + 10;
const dataValidade = new Date(data.text.slice(posicaoInicialDataValidade, posicaoFinalDataValidade));

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 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) {
this.logger.log('Scraping concluído');
this.resultadoScraping = {