Ich versuche, die Verwendung von CasperJS mit einem meiner Skripte zu verbergen. Derzeit versuche ich, die Auflösung zu ändern, den User-Agent und die Sprache mit, dass:Verstecken Sie die Grundfläche von CasperJS mit Google Analytics
casper.userAgent("My UA");
casper.viewport(1600, 900);
casper.page.customHeaders = {'Accept-Language': 'fr,fr-fr;q=0.8,en-us;q=0.5,en;q=0.3'};
Die casper.viewport() und casper.page.customHeaders scheint nicht mit Google Analytics zu arbeiten ... wenn auf einigen Websites versuchen, es scheint in Ordnung zu sein, aber Google Analytics zu sehen bekommt, ich bin ein Web Scraper:
My lang is "c"
Compatibility with JAVA : no
Screen resolution : 1024x768
Flash version : not set
gibt es etwas, das ich diese zu fälschen tun kann?
(Stück) Lösung
Dank Kasper Pedersen, hier ist ein Teil der Lösung:
Wir einige Variablen während der initialize Teil außer Kraft setzen können:
casper.on('page.initialized', function (page) {
page.evaluate(function() {
(function() {
window.screen = {
width: 1600,
height: 900
};
window.navigator.__defineGetter__('javaEnabled', function() {
return function() { return true; };
});
})
});
});
Dies täuscht die Windows-Auflösung und das Plugin für Java vor. Zu fälschen die Flash-Plug-ins, könnten wir so etwas tun:
casper.on('page.initialized', function (page) {
page.evaluate(function() {
(function() {
window.screen = {
width: 1600,
height: 900
};
var fake_navigator = {};
for (var i in navigator) {
fake_navigator[i] = navigator[i];
}
fake_navigator.javaEnabled = function() { return true; };
fake_navigator.language = 'en-US';
fake_navigator.plugins = {
length: 1,
'Shockwave Flash': {
description: 'Shockwave Flash 11.9 r900',
name: 'Shockwave Flash',
version: '11.9.900.117'
}
};
window.navigator = fake_navigator;
})();
});
});
Wenn dies zu tun und die Überprüfung der Informationen in der window.navigator von PhantomJS scheint alles in Ordnung, aber Google Analytics mich nicht als Besucher verfolgen mehr (ich bin nicht im Echtzeitfenster von Google Analytics ...).
Also fake ich nur die ersten zwei Informationen, und für die Sprache, ich fälsche es in der Sprache meines Servers().
Ich bin noch nie auf dieses Problem gestoßen, woher wissen Sie, dass sie Sie als Schaber betrachten? –
Ich scrape eine Webseite, die nur ich kenne und sehe das Ergebnis in Google Analytics. – Kevin
Warum hast du diesen Teil der Lösung nicht als Antwort gepostet? –