I was doing some simple scraping using got and jsdom and I faced a challenge: what is the best thing to do in case we have multiple urls and we want to switch from one to another and check for a specific content because the content we are scraping is available only in one of them. for example we have:
const res = await got(url_1);
const {window : {document}} = new JSDOM(res.body);
let txt = document.querySelector(selector).textContent
now we're not sure that txt has any content so we move to the next url. I tried this:
if(!txt){
const res = await got(url_2);
const {window : {document}} = new JSDOM(res.body);
}
txt = document.querySelector(selector).textContent;
so at the end my code is sth like this:
const res = await got(url_1);
const {window : {document}} = new JSDOM(res.body);
let txt = document.querySelector(selector).textContent;
if(!txt){
const res = await got(url_2);
const {window : {document}} = new JSDOM(res.body);
}
obj.txt = document.querySelector(selector).textContent;
await Stock.findOneAndUpdate({symb: "symb"} , obj ,{upsert: true , useFindAndModify : false})
but it doesn't work properly. I appreciate any guidance.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…