我想通过在NodeJS上使用cheerio在整个脚本中找到单个JavaScript代码/关键字,例如zopim
或v2.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();
});
}
);
}
}
答案 0 :(得分:1)
您可以使用public static boolean atualizarNomeUsuario (String nome) {
try {
FirebaseUser user = getUsuarioAtual();
UserProfileChangeRequest profile = new UserProfileChangeRequest.Builder()
.setDisplayName( nome )
.build();
user.updateProfile(profile).addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
if (!task.isSuccessful()){
Log.d("Perfil", "Erro ao atualizar nome de perfil.");
}
}
});
return true;
} catch (Exception e) {
e.printStackTrace();
return false;
}
}
选择器来查找文本中包含关键字:contains
的脚本,然后计算找到的脚本元素:
'zopim'