我正在使用 got 和 jsdom 进行一些简单的抓取,但我遇到了一个挑战:如果我们有多个 url,并且我们想要从一个网址切换到另一个网址并检查特定内容,因为我们正在抓取的内容是什么?仅在其中之一中可用。例如我们有:
const res = await got(url_1);
const {window : {document}} = new JSDOM(res.body);
let txt = document.querySelector(selector).textContent
现在我们不确定 txt 是否有任何内容,所以我们转到下一个 url。我试过这个:
if(!txt){
const res = await got(url_2);
const {window : {document}} = new JSDOM(res.body);
}
txt = document.querySelector(selector).textContent;
所以最后我的代码是这样的:
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})
但它不能正常工作。