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 { 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 = {