Obtener resultados sin necesidad de captcha ni ocr. Simple código
npm init -y
npm i request cheerio --save
node index.js
archivo: index.js
/**
* @author Juan Pablo <[email protected]>
* @description usage two package npm `request` and `cheerio`
* replace `HERE NUMBER RUC` and run > node index.js
*/
const request = require('request').defaults({jar: true});
const cheerio = require('cheerio');
const clean = str => str.replace(/\s+/g, ' ');
const urlCode = 'http://e-consultaruc.sunat.gob.pe/cl-ti-itmrconsruc/captcha?accion=random';
const urlPost = 'http://e-consultaruc.sunat.gob.pe/cl-ti-itmrconsruc/jcrS00Alias';
const ruc = 'HERE NUMBER RUC';
request(urlCode, (err, response, code)=> {
const formData = {
nroRuc:ruc,
accion:'consPorRuc',
numRnd: code
};
request.post({url:urlPost, form: formData}, (err, response, body)=>{
if (!err && response.statusCode == 200) {
const $ = cheerio.load(body);
const $table = $(".form-table").eq(2);
$table.find('tr').each((i, el)=>{
const a = $(el).find('td[colspan=1]');
const b = $(el).find('td[colspan=3]');
console.log(clean(a.text()),'...', clean(b.text()));
});
return;
}
console.log('error fetch ruc');
});
});
Hola colega, yo también tengo el mismo problema.
He estado probando distintas formas de solucionar el problema pero no he tenido exito.
Lograste encontrar una solución?
Gracias.
Saludos.