Googleアドワーズで出稿している広告の掲載順位をロギングするPerlスクリプト
スポンサードリンク
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か月分の表示頻度をヒストグラムに出すと、表示されなくなる時間帯が分析できます……
インターネット広告って大変だなとか思ってます。
スポンサードリンク
トラックバック(0)
トラックバックURL: http://blog.dtpwiki.jp/MTOS/mt-tb.cgi/3615





![: Amazon.co.jp: プラスティック・メモリーズ 1【完全生産限定版】(イベントチケット優先販売申込券付) [Blu-ray]](/lists/_9/B00VWX66E8.jpg)
![: Amazon.co.jp: プラスティック・メモリーズ 2【完全生産限定版】[Blu-ray]](/lists/_9/B00VWX66K2.jpg)
![: Amazon.co.jp: プラスティック・メモリーズ 3【完全生産限定版】[Blu-ray]](/lists/_9/B00VWX6MV0.jpg)
![: Amazon.co.jp: プラスティック・メモリーズ 4【完全生産限定版】[Blu-ray]](/lists/_9/B00VWX66IO.jpg)
![: Amazon.co.jp: プラスティック・メモリーズ 5【完全生産限定版】[Blu-ray]](/lists/_9/B00VWX6Y0E.jpg)
![: Amazon.co.jp: プラスティック・メモリーズ 6【完全生産限定版】[Blu-ray]](/lists/_9/B00VWX69D6.jpg)


コメントする