Skip to content

Instantly share code, notes, and snippets.

@kkotaro0111
Created December 17, 2012 02:55
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kkotaro0111/4315483 to your computer and use it in GitHub Desktop.
Save kkotaro0111/4315483 to your computer and use it in GitHub Desktop.
読売新聞サイトの選挙速報の比例代表ページから、各政党ごとに獲得票数を合計し、その獲得率を計算するスクリプト http://www.yomiuri.co.jp/election/shugiin/2012/ にアクセスし、コンソールなどに入力して使う。あくまで比例区のみの話なので、小選挙区も含めた最終的な結果とは比較してはいけない。
//12/17 11:30頃に確認した結果
//自由民主党 16,624,457票 27.62% 57議席 31.66%
//日本維新の会 12,262,228票 20.37% 40議席 22.22%
//民主党 9,628,653票 15.99% 30議席 16.66%
//公明党 7,116,474票 11.82% 22議席 12.22%
//みんなの党 5,245,586票 8.71% 14議席 7.77%
//日本共産党 3,689,159票 6.13% 8議席 4.44%
//日本未来の党 3,423,915票 5.68% 7議席 3.88%
//社会民主党 1,420,790票 2.36% 1議席 1.11%
//新党大地 346,848票 0.57% 1議席 1.11%
//幸福実現党 216,150票 0.35% 0議席 0%
//新党改革 134,781票 0.22% 0議席 0%
//国民新党 70,847票 0.11% 0議席 0%
//該当ページで使われているjQueryのバージョンが古すぎるので、新しいのを読み込んで上書きする。
jQuery.getScript("http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js",function(){
var pages = [
"http://www.yomiuri.co.jp/election/shugiin/2012/kaihyou/yc81.htm",
"http://www.yomiuri.co.jp/election/shugiin/2012/kaihyou/yc82.htm",
"http://www.yomiuri.co.jp/election/shugiin/2012/kaihyou/yc83.htm",
"http://www.yomiuri.co.jp/election/shugiin/2012/kaihyou/yc84.htm",
"http://www.yomiuri.co.jp/election/shugiin/2012/kaihyou/yc85.htm",
"http://www.yomiuri.co.jp/election/shugiin/2012/kaihyou/yc86.htm",
"http://www.yomiuri.co.jp/election/shugiin/2012/kaihyou/yc87.htm",
"http://www.yomiuri.co.jp/election/shugiin/2012/kaihyou/yc88.htm",
"http://www.yomiuri.co.jp/election/shugiin/2012/kaihyou/yc89.htm",
"http://www.yomiuri.co.jp/election/shugiin/2012/kaihyou/yc90.htm",
"http://www.yomiuri.co.jp/election/shugiin/2012/kaihyou/yc91.htm"
];
var sum = 0;
var ary = {};
var l = pages.length;
var idx = 0;
function analy(){
if(idx < l){
$.ajax({
url:pages[idx],
success: function(data, status, xhr){
$(data).find(".cndt").find("caption").each(function(){
var t = $(this);
var name = t.find("a").text();
if(!(name in ary)){
console.log("new ary " + name);
ary[name] = 0;
}
var votes = t.find("strong").eq(2).text().replace(/,/g, "");
ary[name] += votes << 0;
console.log(name, votes, ary[name]);
sum += (votes << 0);
});
console.log("analyzed " + pages[idx]);
idx++;
analy();
}
});
}else{
console.log(ary);
for(var key in ary){
console.log(key, ary[key], ((ary[key]/sum *10000)<<0) / 100 );
}
}
}
analy();
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment