gpt4 book ai didi

javascript - 如何使用cheerio和nodejs在解析的HTML中查找特定的JavaScript代码?

转载 作者:行者123 更新时间:2023-12-03 00:42:25 24 4
gpt4 key购买 nike

我想在整个脚本中使用 NodeJS 上的 Cheerio 找到单个 JavaScript 代码/关键字,例如 zopimv2.zopim.com。我编写了一个脚本,可以从单个网站抓取所有链接,但该脚本需要打开所有这些抓取的链接并在 JavaScript 代码中搜索“zopim”关键字。我看了cheerio的repository它是 issues但没有运气。我想知道有人可以帮我解决这个情况吗?这是我的代码的一部分,我在其中打开链接并在源代码中搜索关键字。如果需要的话我可以将其全部发布。

function () {
//console.log(totalUrls);
console.log("Crawling is done.")
if (page == 16) {
console.log("Anaylzing web sites...");
async.whilst(
function () {
return checkedUrl < totalUrls.length;
},
function (urlCallback) {
var currentUrl = totalUrls[checkedUrl]
request(currentUrl, function (err, res, body) {
if (err) {
console.log('Error: ' + err);
}
var $ = cheerio.load(body);
$('.headerContent').each(function () {
var title = $(this).find('a').text();
console.log(currentUrl + title);// if the current web site has a '.headerContent' class print it.
// I want to print only if web site source code includes "zopim" keyword in JavaScript code
});
checkedUrl++;
urlCallback();
});
}
);
}
}

最佳答案

您可以使用 :contains 选择器查找文本中包含关键字 'zopim' 的脚本,然后对找到的脚本元素进行计数:

const scriptsWithKeywordCount = $('script:contains("zopim")').length;
if (scriptsWithKeywordCount > 0) {
// webpage contains keyword in javascript code
}

关于javascript - 如何使用cheerio和nodejs在解析的HTML中查找特定的JavaScript代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53393718/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com