gpt4 book ai didi

javascript - 检测网页是否使用谷歌分析

转载 作者:太空宇宙 更新时间:2023-11-04 01:44:50 24 4
gpt4 key购买 nike

我有一个 Node 服务器。我将一个 Url 传递到请求中,然后使用 cherio 提取内容。现在我想做的是检测该网页是否正在使用谷歌分析。我该怎么做?

request({uri: URL}, function(error, response, body)
{
if (!error)
{
const $ = cheerio.load(body);
const usesAnalytics = body.includes('googletag') || body.includes('analytics.js') || body.includes('ga.js');
const isUsingGA = ?;
}
}

从官方分析网站上,他们说您可以找到一些表明 GA 处于事件状态的字符串。我尝试过扫描正文中的这些内容,但即使该页面正在运行 GA,它们也总是返回 false。我将其包含在上面的代码中。

我查看过使用它的网站,但在他们的索引中看不到任何表明他们正在使用它的内容。只有当我去他们的来源并看到他们正在使用它时。我如何在 Node 中检测到这一点?

最佳答案

我有 Node 脚本,它使用 Puppeteer 来监视从网站发送的请求。

这是我不久前写的,所以有些部分可能与你无关,但你可以看一下:

'use strict';

const puppeteer = require('puppeteer');


function getGaTag(lookupDomain){

return new Promise((resolve) => {
(async() => {
var result = [];
const browser = await puppeteer.launch({ headless: true });

const page = await browser.newPage();
await page.setRequestInterception(true);

page.on('request', request => {

const url = request.url();
const regexp = /(UA|YT|MO)-\d+-\d+/i;

// look for tracking script
if (url.match(/^https?:\/\/www\.google-analytics\.com\/(r\/)?collect/i)) {

console.log(url.match(regexp));
console.log('\n');
result.push(url.match(regexp)[0]);
}
request.continue();
});

try {
await page.goto(lookupDomain);
await page.waitFor(9000);

} catch (err) {
console.log("Couldn't fetch page " + err);
}

await browser.close();
resolve(result);

})();

})

}

getGaTag('https://store.google.com/').then(result => {
console.log(result)
})

运行 node ga-check.js 现在会返回查找域上 Google Analytucs 跟踪器的 UA ID:[ 'UA-54090495-1' ] 在本例中为 https://store.google.com

希望这有帮助!

关于javascript - 检测网页是否使用谷歌分析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51852216/

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