Próbuję ukryć wykorzystanie CasperJS jednym z moich skryptów. Obecnie staram się zmienić rozdzielczość, agenta użytkownika i język z tym:Ukryj ślad CasperJS za pomocą 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'};
The casper.viewport() i casper.page.customHeaders nie wydaje się do pracy z Google Analytics ... podczas próby na niektórych stronach internetowych, to wydaje się być w porządku, ale Google Analytics może zobaczyć Jestem skrobak Web:
My lang is "c"
Compatibility with JAVA : no
Screen resolution : 1024x768
Flash version : not set
Czy mogę coś zrobić, aby sfałszować tego?
(kawałek) Rozwiązanie
Dzięki Kasper Pedersen, tutaj jest częścią rozwiązania:
Możemy zastąpić jakąś zmienną w czasie części initialize z:
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; };
});
})
});
});
To podróbcza rozdzielczość okna i wtyczkę dla Javy. Do fałszywych wtyczki Flash, możemy zrobić coś takiego:
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;
})();
});
});
Podczas tego i weryfikacji informacji w window.navigator z PhantomJS, wszystko wydaje się w porządku, ale Google Analytics nie zapisuje mi jako gość więcej (nie pojawia się w oknie czasu rzeczywistego Google Analytics ...).
Więc po prostu podrabiam dwie pierwsze informacje, a dla języka, podrabiam go zmieniając język mojego serwera (export LC_ALL=en_US.utf8
).
Nigdy nie natknąłem się na ten problem, skąd wiesz, że postrzegają cię jako skrobaczkę? –
Zgarnę stronę internetową, którą tylko ja znam i widzę wynik w Google Analytics. – Kevin
Dlaczego nie wysłałeś tego rozwiązania jako odpowiedzi? –