M.C.P.C.

―むり・くり―プラスコミュニケーション(更新終了)


| トップページ |

2011年6月12日 23:00

Googleアドワーズで出稿している広告の掲載順位をロギングするPerlスクリプト

このエントリーをはてなブックマークに追加 mixiチェック

Googleアドワーズの広告出稿で日内予算を設定していると、予算を食いつぶした時点で表示されなくなりますが、実際に何時から表示がされなくなるかを測定する必要があったので、スクリプトを作りました。ログをとるだけで、解析は別のスクリプトを使います(すでにGDでグラフ化するやつは作っているけれども設定がプログラム埋め込みなので今は出せない……)。

cronで1時間に1回実行します。

use strict;
use warnings;
use utf8;
use WWW::Mechanize;
use YAML;
use FindBin::Real;
use File::Spec;
 
chdir FindBin::Real::Bin();
my $logdir = 'logs/';
 
my $mech =  WWW::Mechanize->new;
$mech->agent_alias( 'Windows IE 6' );
$mech->add_header( 'Accept-Language' => 'ja,en-us;q=0.7,en;q=0.3');
$mech->add_header( 'Accept-Charset'  => 'Shift_JIS,utf-8;q=0.7,*;q=0.7');
$mech->add_header( 'Accept' => 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8');
$mech->add_header( 'Accept-Encoding' => 'gzip, deflate');
 
my $res = $mech->get('http://www.google.co.jp/');
sleep 3;
 
$mech->submit_form(
  fields => {
    q => '印刷',
  },
);
use Web::Scraper;
 
my $html = $mech->content();
my $scraper = scraper {
  process 'h3', 'list[]' => scraper {
    process '.', 'text' => 'TEXT';
    process 'a', 'href' => '@HREF';
  };
};
my $result = $scraper->scrape( $html);
my $filename = time.'.yaml';
my $filepath = File::Spec->catdir( $logdir, $filename );
YAML::DumpFile($filepath, $result);
 
exit;
 
__END__

このログを使って1か月分の表示頻度をヒストグラムに出すと、表示されなくなる時間帯が分析できます……

インターネット広告って大変だなとか思ってます。

投稿 大野 義貴 [Web] | |

トラックバック(0)

トラックバックURL: http://blog.dtpwiki.jp/MTOS/mt-tb.cgi/3615

コメントする