const puppeteer = require("puppeteer");
const doPuppeteer = async(code) => {
var Company={result:''};
try{
if(code.length!=6){//return error if code is not 6digits
Company.result=false
throw new Error('code length must be 6digits')
}
const browser = await puppeteer.launch({
headless : true,
args:['--no-sandbox',
'--disable-setuid-sandbox',
],
});
//move to url page
var url='https://www.nicebizinfo.com/ep/EP0100M002GE.nice?kiscode='+code
const page = await browser.newPage();
await page.goto(url,{waitUntil:'domcontentloaded'});
//scrap company overview and name
await page.waitForSelector('body > div:nth-child(31) > div > div.cTable.sp2.mb10 > table > tbody',{timeout:3000});
var key=await page.evaluate(()=>{//scrap company overview keys
return Array.from(document.querySelectorAll('body > div:nth-child(31) > div > div.cTable.sp2.mb10 > table > tbody>tr>td>div>p'))
.map(tbody=>(tbody.textContent));
})
var val=await page.evaluate(()=>{//scrap company overview values
return Array.from(document.querySelectorAll('body > div:nth-child(31) > div > div.cTable.sp2.mb10 > table > tbody>tr>td>div>strong'))
.map(tbody=>(tbody.textContent));
})
var data={companyName:String(await page.evaluate(()=>{//scrap companyname
return Array.from(document.querySelectorAll('body > div:nth-child(31) > div > div.header > h1'))
.map(h1=>(h1.textContent))
})), overview:''}
await browser.close();
var overview={};
for(let i=0;i<key.length;i++){
overview[key[i]]=val[i];
}
data.overview=overview;
Company['data']=data;
Company.result=true;
return Company//return json style object
await browser.close();
}catch(error){
console.log(error);
Company['error']=String(error);
return Company;
}
}
exports.doScrap=doPuppeteer;
это мой код утилизации на heroku с использованием puppeteer
Я развернул этот код на heroku и после запуска этого кода на сервере вернулась ошибка тайм-аута H12, приведенная ниже (проверка изображения plz).
Мне интересно, почему это занимает более 30se c на сервере. На локально тот же код занимает 3 секунды максимум
Если есть какое-либо решение, пожалуйста, помогите мне. Код ошибки