DoubleClick Ad Plannerでのサイト解析をPerlで取得する
スポンサードリンク
DoubleClick Ad PlannerのAPIが見当たらなかったので、バックで動いているAPIを使って値を取得しようという試み。
APIがあれば、たとえばはてなブックマークだったらこんな感じで取得できるわけですが、
Filename: hateb.pl
#!/usr/bin/perl use XMLRPC::Lite; my $res = get_hateb_value('http://blog.dtpwiki.jp/'); print "hatena bookmark: $res\n"; exit; sub get_hateb_value { my $EndPoint = 'http://b.hatena.ne.jp/xmlrpc'; my $url = shift; my $count = XMLRPC::Lite ->proxy($EndPoint) ->call('bookmark.getTotalCount', $url) ->result; return $count; } __END__
$ perl hateb.pl hatena bookmark: 1897 $
これをDoubleClick Ad Plannerでやります。
Filename: adplanner.pl
#!/usr/bin/perl use Encode; use JSON; use LWP::Simple; use URI::Escape; my $res = get_adplanner('http://blog.dtpwiki.jp/'); print "ad planner total_visit: $res->{site_info}->{total_visits}\n"; exit; sub get_adplanner { my $url = shift; my $api = 'https://www.google.com/adplanner/planning/site_details_data'; (my $id = $url ) =~ s|^https?://||; $id = uri_escape( $id ); my $json = get( "$api?identifier=$id&trait_type=1&geo=001&_rnr_se=null"); return decode_json( encode_utf8($json) ); } __END__
$ perl adplanner.pl ad planner total_visit: 15000 $
こんな感じです……
バックヤードのAPIを使っているのが微妙なので、ちゃんとしたAPIがあったらそっちで作り直しますから教えてください……
(2011-05-26 17:30 追記)
今確認したら、Ad Plannerの仕様が変わっていて、今のスクリプトだと動かなくなっていますね……
https://www.google.com/adplanner/rpc/SiteDetailsService/getPlacementProfile?&request_pb=[null,[null,1,%22example.com%22],%22001%22,10]
的な書き方をしまして、返って来た文字列(JSONかな?)から必要な値をとることになります。
スポンサードリンク
トラックバック(1)
トラックバックURL: http://blog.dtpwiki.jp/MTOS/mt-tb.cgi/3288
去年、 M.C.P.C.: DoubleClick Ad Plannerでのサイト解析をPerlで取得する というエントリ立てまして、これは、DoubleClick Ad Plannerのページのバックで動いているAPIを利用して、特定のサイトの情報を取得しようとするものだったのですが、 非公開APIを使う、ということで、今使ってみたところ案の定APIが変わっていたみたいです。 昔は、 https://www.google.com/adplanner/planning/site_details_da... 続きを読む
コメントする