Skip to content

Instantly share code, notes, and snippets.

@sztupy
Last active August 29, 2015 13:58
Show Gist options
  • Save sztupy/10011360 to your computer and use it in GitHub Desktop.
Save sztupy/10011360 to your computer and use it in GitHub Desktop.
Választás 2014 Érvénytelen szavazat kalkulátor

Választás 2014 érvénytelen szavazatok kalkulátor

Kell neki: ruby (tesztelve Windows alatt ruby 2.0-val)

Példa futás:

$ ruby valasztas_stat.rb
Megye: 1, Körzet: 1, Érvényes: 44345, Érvénytelen: 471 (1.051%)
Megye: 1, Körzet: 2, Érvényes: 51345, Érvénytelen: 375 (0.725%)
Megye: 1, Körzet: 3, Érvényes: 50167, Érvénytelen: 352 (0.697%)
Megye: 1, Körzet: 4, Érvényes: 51954, Érvénytelen: 369 (0.705%)
Megye: 1, Körzet: 5, Érvényes: 41956, Érvénytelen: 430 (1.014%)
Megye: 1, Körzet: 6, Érvényes: 39900, Érvénytelen: 415 (1.029%)
Megye: 1, Körzet: 7, Érvényes: 51171, Érvénytelen: 469 (0.908%)
Megye: 1, Körzet: 8, Érvényes: 52549, Érvénytelen: 576 (1.084%)
Megye: 1, Körzet: 9, Érvényes: 48502, Érvénytelen: 413 (0.844%)
Megye: 1, Körzet: 10, Érvényes: 49723, Érvénytelen: 506 (1.007%)
Megye: 1, Körzet: 11, Érvényes: 49808, Érvénytelen: 367 (0.731%)
Megye: 1, Körzet: 12, Érvényes: 48823, Érvénytelen: 576 (1.166%)
Megye: 1, Körzet: 13, Érvényes: 49923, Érvénytelen: 385 (0.765%)
Megye: 1, Körzet: 14, Érvényes: 51025, Érvénytelen: 368 (0.716%)
Megye: 1, Körzet: 15, Érvényes: 53450, Érvénytelen: 388 (0.721%)
Megye: 1, Körzet: 16, Érvényes: 46747, Érvénytelen: 367 (0.779%)
Megye: 1, Körzet: 17, Érvényes: 49467, Érvénytelen: 427 (0.856%)
Megye: 1, Körzet: 18, Érvényes: 53876, Érvénytelen: 468 (0.861%)
Megye: 1, Érvényes: 884731, Érvénytelen: 7722 (0.865%)
Megye: 2, Körzet: 1, Érvényes: 48510, Érvénytelen: 460 (0.939%)
Megye: 2, Körzet: 2, Érvényes: 46437, Érvénytelen: 530 (1.128%)
Megye: 2, Körzet: 3, Érvényes: 41778, Érvénytelen: 650 (1.532%)
Megye: 2, Körzet: 4, Érvényes: 43225, Érvénytelen: 745 (1.694%)
Megye: 2, Érvényes: 179950, Érvénytelen: 2385 (1.308%)
Megye: 3, Körzet: 1, Érvényes: 38728, Érvénytelen: 454 (1.159%)
Megye: 3, Körzet: 2, Érvényes: 41826, Érvénytelen: 466 (1.102%)
Megye: 3, Körzet: 3, Érvényes: 39944, Érvénytelen: 424 (1.050%)
Megye: 3, Körzet: 4, Érvényes: 39434, Érvénytelen: 563 (1.408%)
Megye: 3, Körzet: 5, Érvényes: 38150, Érvénytelen: 404 (1.048%)
Megye: 3, Körzet: 6, Érvényes: 37702, Érvénytelen: 412 (1.081%)
Megye: 3, Érvényes: 235784, Érvénytelen: 2723 (1.142%)
Megye: 4, Körzet: 1, Érvényes: 43220, Érvénytelen: 434 (0.994%)
Megye: 4, Körzet: 2, Érvényes: 40176, Érvénytelen: 489 (1.203%)
Megye: 4, Körzet: 3, Érvényes: 40006, Érvénytelen: 416 (1.029%)
Megye: 4, Körzet: 4, Érvényes: 44310, Érvénytelen: 700 (1.555%)
Megye: 4, Érvényes: 167712, Érvénytelen: 2039 (1.201%)
Megye: 5, Körzet: 1, Érvényes: 47626, Érvénytelen: 436 (0.907%)
Megye: 5, Körzet: 2, Érvényes: 45460, Érvénytelen: 443 (0.965%)
Megye: 5, Körzet: 3, Érvényes: 39655, Érvénytelen: 517 (1.287%)
Megye: 5, Körzet: 4, Érvényes: 43214, Érvénytelen: 748 (1.701%)
Megye: 5, Körzet: 5, Érvényes: 41865, Érvénytelen: 615 (1.448%)
Megye: 5, Körzet: 6, Érvényes: 45562, Érvénytelen: 609 (1.319%)
Megye: 5, Körzet: 7, Érvényes: 45336, Érvénytelen: 634 (1.379%)
Megye: 5, Érvényes: 308718, Érvénytelen: 4002 (1.280%)
Megye: 6, Körzet: 1, Érvényes: 49177, Érvénytelen: 507 (1.020%)
Megye: 6, Körzet: 2, Érvényes: 50717, Érvénytelen: 718 (1.396%)
Megye: 6, Körzet: 3, Érvényes: 46763, Érvénytelen: 652 (1.375%)
Megye: 6, Körzet: 4, Érvényes: 46789, Érvénytelen: 665 (1.401%)
Megye: 6, Érvényes: 193446, Érvénytelen: 2542 (1.297%)
Megye: 7, Körzet: 1, Érvényes: 42836, Érvénytelen: 356 (0.824%)
Megye: 7, Körzet: 2, Érvényes: 43166, Érvénytelen: 496 (1.136%)
Megye: 7, Körzet: 3, Érvényes: 43366, Érvénytelen: 494 (1.126%)
Megye: 7, Körzet: 4, Érvényes: 40169, Érvénytelen: 761 (1.859%)
Megye: 7, Körzet: 5, Érvényes: 36224, Érvénytelen: 484 (1.319%)
Megye: 7, Érvényes: 205761, Érvénytelen: 2591 (1.244%)
Megye: 8, Körzet: 1, Érvényes: 42610, Érvénytelen: 275 (0.641%)
Megye: 8, Körzet: 2, Érvényes: 43062, Érvénytelen: 384 (0.884%)
Megye: 8, Körzet: 3, Érvényes: 40633, Érvénytelen: 407 (0.992%)
Megye: 8, Körzet: 4, Érvényes: 47458, Érvénytelen: 476 (0.993%)
Megye: 8, Körzet: 5, Érvényes: 43476, Érvénytelen: 407 (0.927%)
Megye: 8, Érvényes: 217239, Érvénytelen: 1949 (0.889%)
Megye: 9, Körzet: 1, Érvényes: 43052, Érvénytelen: 359 (0.827%)
Megye: 9, Körzet: 2, Érvényes: 42088, Érvénytelen: 342 (0.806%)
Megye: 9, Körzet: 3, Érvényes: 40671, Érvénytelen: 517 (1.255%)
Megye: 9, Körzet: 4, Érvényes: 36363, Érvénytelen: 488 (1.324%)
Megye: 9, Körzet: 5, Érvényes: 38152, Érvénytelen: 665 (1.713%)
Megye: 9, Körzet: 6, Érvényes: 38640, Érvénytelen: 528 (1.348%)
Megye: 9, Érvényes: 238966, Érvénytelen: 2899 (1.199%)
Megye: 10, Körzet: 1, Érvényes: 52306, Érvénytelen: 537 (1.016%)
Megye: 10, Körzet: 2, Érvényes: 51836, Érvénytelen: 590 (1.125%)
Megye: 10, Körzet: 3, Érvényes: 47489, Érvénytelen: 614 (1.276%)
Megye: 10, Érvényes: 151631, Érvénytelen: 1741 (1.135%)
Megye: 11, Körzet: 1, Érvényes: 49777, Érvénytelen: 513 (1.020%)
Megye: 11, Körzet: 2, Érvényes: 41040, Érvénytelen: 479 (1.154%)
Megye: 11, Körzet: 3, Érvényes: 42923, Érvénytelen: 603 (1.385%)
Megye: 11, Körzet: 4, Érvényes: 42579, Érvénytelen: 548 (1.271%)
Megye: 11, Érvényes: 176319, Érvénytelen: 2143 (1.201%)
Megye: 12, Körzet: 1, Érvényes: 48606, Érvénytelen: 408 (0.832%)
Megye: 12, Körzet: 2, Érvényes: 49702, Érvénytelen: 411 (0.820%)
Megye: 12, Körzet: 3, Érvényes: 48427, Érvénytelen: 471 (0.963%)
Megye: 12, Érvényes: 146735, Érvénytelen: 1290 (0.871%)
Megye: 13, Körzet: 1, Érvényes: 47118, Érvénytelen: 878 (1.829%)
Megye: 13, Körzet: 2, Érvényes: 48606, Érvénytelen: 818 (1.655%)
Megye: 13, Érvényes: 95724, Érvénytelen: 1696 (1.741%)
Megye: 14, Körzet: 1, Érvényes: 50117, Érvénytelen: 431 (0.853%)
Megye: 14, Körzet: 2, Érvényes: 58944, Érvénytelen: 555 (0.933%)
Megye: 14, Körzet: 3, Érvényes: 55777, Érvénytelen: 500 (0.888%)
Megye: 14, Körzet: 4, Érvényes: 45982, Érvénytelen: 494 (1.063%)
Megye: 14, Körzet: 5, Érvényes: 57065, Érvénytelen: 438 (0.762%)
Megye: 14, Körzet: 6, Érvényes: 53789, Érvénytelen: 583 (1.072%)
Megye: 14, Körzet: 7, Érvényes: 50258, Érvénytelen: 500 (0.985%)
Megye: 14, Körzet: 8, Érvényes: 50460, Érvénytelen: 499 (0.979%)
Megye: 14, Körzet: 9, Érvényes: 39578, Érvénytelen: 531 (1.324%)
Megye: 14, Körzet: 10, Érvényes: 40719, Érvénytelen: 484 (1.175%)
Megye: 14, Körzet: 11, Érvényes: 47213, Érvénytelen: 425 (0.892%)
Megye: 14, Körzet: 12, Érvényes: 41418, Érvénytelen: 573 (1.365%)
Megye: 14, Érvényes: 591320, Érvénytelen: 6013 (1.007%)
Megye: 15, Körzet: 1, Érvényes: 39179, Érvénytelen: 389 (0.983%)
Megye: 15, Körzet: 2, Érvényes: 32960, Érvénytelen: 439 (1.314%)
Megye: 15, Körzet: 3, Érvényes: 35672, Érvénytelen: 415 (1.150%)
Megye: 15, Körzet: 4, Érvényes: 37761, Érvénytelen: 372 (0.976%)
Megye: 15, Érvényes: 145572, Érvénytelen: 1615 (1.097%)
Megye: 16, Körzet: 1, Érvényes: 46621, Érvénytelen: 386 (0.821%)
Megye: 16, Körzet: 2, Érvényes: 41059, Érvénytelen: 577 (1.386%)
Megye: 16, Körzet: 3, Érvényes: 44067, Érvénytelen: 576 (1.290%)
Megye: 16, Körzet: 4, Érvényes: 41820, Érvénytelen: 681 (1.602%)
Megye: 16, Körzet: 5, Érvényes: 41318, Érvénytelen: 644 (1.535%)
Megye: 16, Körzet: 6, Érvényes: 40537, Érvénytelen: 811 (1.961%)
Megye: 16, Érvényes: 255422, Érvénytelen: 3675 (1.418%)
Megye: 17, Körzet: 1, Érvényes: 37133, Érvénytelen: 463 (1.232%)
Megye: 17, Körzet: 2, Érvényes: 35824, Érvénytelen: 472 (1.300%)
Megye: 17, Körzet: 3, Érvényes: 35685, Érvénytelen: 467 (1.292%)
Megye: 17, Érvényes: 108642, Érvénytelen: 1402 (1.274%)
Megye: 18, Körzet: 1, Érvényes: 44478, Érvénytelen: 362 (0.807%)
Megye: 18, Körzet: 2, Érvényes: 42906, Érvénytelen: 437 (1.008%)
Megye: 18, Körzet: 3, Érvényes: 41615, Érvénytelen: 439 (1.044%)
Megye: 18, Érvényes: 128999, Érvénytelen: 1238 (0.951%)
Megye: 19, Körzet: 1, Érvényes: 45436, Érvénytelen: 385 (0.840%)
Megye: 19, Körzet: 2, Érvényes: 43128, Érvénytelen: 474 (1.087%)
Megye: 19, Körzet: 3, Érvényes: 41162, Érvénytelen: 361 (0.869%)
Megye: 19, Körzet: 4, Érvényes: 42214, Érvénytelen: 526 (1.231%)
Megye: 19, Érvényes: 171940, Érvénytelen: 1746 (1.005%)
Megye: 20, Körzet: 1, Érvényes: 49705, Érvénytelen: 479 (0.954%)
Megye: 20, Körzet: 2, Érvényes: 43276, Érvénytelen: 436 (0.997%)
Megye: 20, Körzet: 3, Érvényes: 44910, Érvénytelen: 468 (1.031%)
Megye: 20, Érvényes: 137891, Érvénytelen: 1383 (0.993%)
Érvényes: 4742502, Érvénytelen: 52794 (1.101%)
source 'https://rubygems.org'
gem 'nokogiri'
GEM
remote: https://rubygems.org/
specs:
mini_portile (0.5.3)
nokogiri (1.6.1-x86-mingw32)
mini_portile (~> 0.5.0)
PLATFORMS
x86-mingw32
DEPENDENCIES
nokogiri
#!/usr/bin/env ruby
#encoding: utf-8
require 'rubygems'
require 'bundler/setup'
require 'nokogiri'
require 'net/http'
Megyek = [18,4,6,4,7,4,5,5,6,3,4,3,2,12,4,6,3,3,4,3]
ok = {}
nope = {}
1.upto(Megyek.size) do |m|
ok[m] ||= {}
nope[m] ||= {}
1.upto(Megyek[m-1]) do |e|
data = Net::HTTP.get('valasztas.hu', '/dyn/pv14/szavossz/hu/M%02d/E%02d/evkjkv.html' % [m,e])
html = Nokogiri::HTML(data)
head = html.xpath('//table/tr/th[.="ME"]')[0]
nope[m][e] = head.parent.next_sibling.children[head.parent.children.index(head)].text.gsub("\u00A0", "").strip.to_i
head = html.xpath('//table/tr/th[.="NE"]')[0]
ok[m][e] = head.parent.next_sibling.children[head.parent.children.index(head)].text.gsub("\u00A0", "").strip.to_i
puts "Megye: %d, Körzet: %d, Érvényes: %d, Érvénytelen: %d (%02.3f%%)" % [m,e,ok[m][e],nope[m][e],nope[m][e].to_f/(ok[m][e]+nope[m][e])*100]
end
nn = nope[m].values.inject(:+)
oo = ok[m].values.inject(:+)
puts "Megye: %d, Érvényes: %d, Érvénytelen: %d (%02.3f%%)" % [m,oo,nn,nn.to_f/(oo+nn)*100]
end
nn = nope.map{|k,v|v.values}.flatten.inject(:+)
oo = ok.map{|k,v|v.values}.flatten.inject(:+)
puts "Érvényes: %d, Érvénytelen: %d (%02.3f%%)" % [oo,nn,nn.to_f/(oo+nn)*100]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment