私は自分のスクリプトでCasperJSの利用を隠そうとしています。Google AnalyticsでCasperJSのフットプリントを隠す
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'};
casper.viewportを()とcasper.page.customHeadersは、Googleアナリティクスで動作していないよう...:現在、私はそれで、解像度、ユーザーエージェントや言語を変更しようとしていますいくつかのウェブサイトにしようとすると、大丈夫のようですが、Google Analyticsは、私がウェブスクレーパーよ見に取得します。私は偽物これに何かできることは
My lang is "c"
Compatibility with JAVA : no
Screen resolution : 1024x768
Flash version : not set
ありますか?
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; };
});
})
});
});
:私たちは、との初期部分の間にいくつかの変数をオーバーライドすることができ
:
おかげカスパーのペダーセンへのソリューション(ワンピースの)
は、ここでのソリューションの一部でありますこれは、Windowsの解像度とJava用のプラグインをフェイクします。偽のフラッシュプラグインのために、我々はそのような何かを行うことができます:
これを行うとPhantomJSのwindow.navigatorで情報を確認すること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;
})();
});
});
、すべてが大丈夫そうですが、Google Analyticsでは、訪問者として私を追跡することはありませんそれ以上(私はGoogleアナリティクスのリアルタイムウィンドウに表示されません...)。
私はちょうど最初の2つの情報を偽造し、言語のために、私は私のサーバー(export LC_ALL=en_US.utf8
)の言語を変更することでそれを偽造します。
私はこの問題に遭遇したことがありません。彼らはあなたをスクレーパーとみなしていることをどのように知っていますか? –
Googleアナリティクスで私にしかわかっていない結果が表示されているウェブページを擦ってしまいます。 – Kevin
このソリューションを回答として投稿しなかったのはなぜですか? –