jarib / pollofpolls-scraper

Scrape Norwegian election polls from pollofpolls.no. Runs on [morph.io](https://morph.io).

Scrapes www.pollofpolls.no

Poll of polls samler alle publiserte meningsmålinger i Norge, beregner et nasjonalt snitt basert på lokale meningsåÃ¥linger og et gjennomsnitt av nasjonale meningåmÃ¥linger.


pollofpolls-scraper

Scrape Norwegian election polls from various sources. Runs on morph.io.

Contributors jarib

Last run completed successfully .

Console output of last run

Injecting configuration and compiling...  -----> Ruby app detected -----> Compiling Ruby -----> Using Ruby version: ruby-2.2.2 -----> Installing dependencies using bundler 1.15.2  Running: bundle install --without development:test --path vendor/bundle --binstubs vendor/bundle/bin -j4 --deployment  Fetching gem metadata from https://rubygems.org/........  Fetching version metadata from https://rubygems.org/.  Using bundler 1.15.2  Fetching coderay 1.1.0  Fetching multipart-post 2.0.0  Fetching method_source 0.8.2  Installing method_source 0.8.2  Installing multipart-post 2.0.0  Installing coderay 1.1.0  Fetching mini_portile 0.6.2  Fetching slop 3.6.0  Fetching sqlite3 1.3.10  Installing mini_portile 0.6.2  Installing slop 3.6.0  Fetching faraday 0.9.1  Installing sqlite3 1.3.10 with native extensions  Installing faraday 0.9.1  Fetching nokogiri 1.6.6.2  Fetching pry 0.10.1  Installing pry 0.10.1  Installing nokogiri 1.6.6.2 with native extensions  Bundle complete! 4 Gemfile dependencies, 10 gems now installed.  Gems in the groups development and test were not installed.  Bundled gems are installed into ./vendor/bundle.  Bundle completed (16.81s)  Cleaning up the bundler cache. -----> Detecting rake tasks   -----> Discovering process types  Procfile declares types -> scraper Injecting scraper and running... {:name=>"Valg 2011"} unable to parse date from name: "Valg 2011" skipping invalid row: ["Viktig: Les fotnoter og forbehold om denne tabellen"] skipping invalid row: ["Poll of polls kommunestyrevalget er en beregning av partienes nasjonale nivåer basert på et veiet snitt av lokale partimålinger med spørsmål om stemmegivning ved kommunevalg.\nBeregningsmåten fremgår av Om-siden.\nPoll of polls oppdateres hver gang en ny lokal måling publiseres. Siste lokale måling med kommunevalgspørsmål 22. mars.\nPoll of polls pr. 22/3-2018 bygger på 10 målinger i 9 kommuner med samlet 25,2% av stemmene i 2011. Målingene har i alt 5672 spurte.\nPoll of polls kommunevalg beregnes kun på bakgrunn av meningsmålinger i enkeltkommuner. Kommunevalgsmålinger i fylker inngår ikke.\nMandatfordeling er basert på mandatfordelingen i 2011."] {:name=>"Valg 2015"} unable to parse date from name: "Valg 2015" {:name=>"Uke 12-2018"} {:name=>"Uke 11-2018"} {:name=>"Uke 10-2018"} skipping invalid row: ["Viktig: Les fotnoter og forbehold om denne tabellen"] skipping invalid row: ["Poll of polls fylkestingsvalget er en beregning av partienes nasjonale nivåer basert på et veiet snitt av lokale partimålinger med spørsmål om stemmegivning ved fylkesvalg.\nBeregningsmåten fremgår av Om-siden.\nPoll of polls oppdateres hver gang en ny lokal måling publiseres. Siste lokale måling med fylkesvalgspørsmål 5. mars.\nPoll of polls pr. 5/3-2018 bygger på 2 målinger i 2 fylker med samlet 14,5% av stemmene i 2015. Målingene har i alt 1401 spurte.\nMandatfordeling er basert på mandatfordelingen i 2011."] {:name=>"Uke 37-2017"} {:name=>"Uke 36-2017"} {:name=>"Uke 35-2017"} {:name=>"Uke 34-2017"} {:name=>"Uke 33-2017"} {:name=>"Uke 32-2017"} {:name=>"Uke 31-2017"} {:name=>"Uke 30-2017"} {:name=>"Uke 29-2017"} {:name=>"Uke 28-2017"} {:name=>"Uke 27-2017"} {:name=>"Uke 26-2017"} {:name=>"Uke 25-2017"} {:name=>"Uke 24-2017"} {:name=>"Uke 23-2017"} {:name=>"Uke 22-2017"} {:name=>"Uke 21-2017"} {:name=>"Uke 20-2017"} {:name=>"Uke 19-2017"} {:name=>"Uke 18-2017"} {:name=>"Uke 17-2017"} {:name=>"Uke 16-2017"} {:name=>"Uke 15-2017"} {:name=>"Uke 14-2017"} {:name=>"Uke 13-2017"} {:name=>"Uke 12-2017"} {:name=>"Uke 11-2017"} {:name=>"Uke 10-2017"} {:name=>"Uke 9-2017"} {:name=>"Uke 8-2017"} {:name=>"Uke 7-2017"} {:name=>"Uke 6-2017"} {:name=>"Uke 5-2017"} {:name=>"Uke 4-2017"} {:name=>"Uke 3-2017"} {:name=>"Uke 2-2017"} {:name=>"Uke 1-2017"} {:name=>"Uke 52-2016"} {:name=>"Uke 51-2016"} {:name=>"Uke 50-2016"} {:name=>"Uke 49-2016"} {:name=>"Uke 48-2016"} {:name=>"Uke 47-2016"} {:name=>"Uke 46-2016"} {:name=>"Uke 45-2016"} {:name=>"Uke 44-2016"} {:name=>"Uke 43-2016"} {:name=>"Uke 42-2016"} {:name=>"Uke 41-2016"} {:name=>"Uke 40-2016"} {:name=>"Uke 39-2016"} {:name=>"Uke 38-2016"} {:name=>"Uke 28-2016"} {:name=>"Uke 27-2016"} {:name=>"Uke 26-2016"} {:name=>"Uke 25-2016"} {:name=>"Uke 24-2016"} {:name=>"Uke 23-2016"} {:name=>"Uke 22-2016"} {:name=>"Uke 21-2016"} {:name=>"Uke 20-2016"} {:name=>"Uke 19-2016"} {:name=>"Uke 18-2016"} {:name=>"Uke 17-2016"} {:name=>"Uke 16-2016"} {:name=>"Uke 15-2016"} {:name=>"Uke 14-2016"} {:name=>"Uke 13-2016"} {:name=>"Uke 12-2016"} {:name=>"Uke 49-2015"} {:name=>"Uke 48-2015"} {:name=>"Uke 47-2015"} {:name=>"Uke 46-2015"} {:name=>"Uke 45-2015"} {:name=>"Uke 44-2015"} {:name=>"Uke 43-2015"} {:name=>"Uke 42-2015"} {:name=>"Uke 41-2015"} {:name=>"Uke 40-2015"} {:name=>"Uke 39-2015"} {:name=>"Uke 38-2015"} {:name=>"Uke 28-2015"} {:name=>"Uke 27-2015"} {:name=>"Uke 26-2015"} {:name=>"Uke 25-2015"} {:name=>"Uke 24-2015"} {:name=>"Uke 23-2015"} {:name=>"Uke 22-2015"} {:name=>"Uke 21-2015"} {:name=>"Uke 20-2015"} {:name=>"Uke 19-2015"} {:name=>"Uke 18-2015"} {:name=>"Uke 17-2015"} {:name=>"Uke 16-2015"} {:name=>"Uke 15-2015"} {:name=>"Uke 14-2015"} {:name=>"Uke 13-2015"} {:name=>"Uke 12-2015"} {:name=>"Uke 11-2015"} {:name=>"Uke 10-2015"} {:name=>"Uke 9-2015"} {:name=>"Uke 8-2015"} {:name=>"Uke 7-2015"} {:name=>"Uke 6-2015"} {:name=>"Uke 5-2015"} {:name=>"Uke 4-2015"} {:name=>"Uke 3-2015"} {:name=>"Uke 2-2015"} {:name=>"Uke 1-2015"} {:name=>"Uke 52-2014"} {:name=>"Uke 51-2014"} {:name=>"Uke 50-2014"} {:name=>"Uke 49-2014"} {:name=>"Uke 48-2014"} {:name=>"Uke 47-2014"} {:name=>"Uke 46-2014"} {:name=>"Uke 45-2014"} {:name=>"Uke 44-2014"} {:name=>"Uke 43-2014"} {:name=>"Uke 42-2014"} {:name=>"Uke 41-2014"} {:name=>"Uke 40-2014"} {:name=>"Uke 39-2014"} {:name=>"Uke 38-2014"} {:name=>"Uke 28-2014"} {:name=>"Uke 27-2014"} {:name=>"Uke 26-2014"} {:name=>"Uke 25-2014"} {:name=>"Uke 24-2014"} {:name=>"Uke 23-2014"} {:name=>"Uke 22-2014"} {:name=>"Uke 21-2014"} {:name=>"Uke 20-2014"} {:name=>"Uke 19-2014"} {:name=>"Uke 18-2014"} {:name=>"Uke 17-2014"} {:name=>"Uke 16-2014"} {:name=>"Uke 15-2014"} {:name=>"Uke 14-2014"} {:name=>"Uke 13-2014"} {:name=>"Uke 12-2014"} {:name=>"Uke 11-2014"} {:name=>"Uke 10-2014"} {:name=>"Uke 9-2014"} {:name=>"Uke 8-2014"} {:name=>"Uke 7-2014"} {:name=>"Uke 6-2014"} {:name=>"Uke 5-2014"} {:name=>"Uke 4-2014"} {:name=>"Uke 3-2014"} {:name=>"Uke 2-2014"} {:name=>"Uke 1-2014"} {:name=>"Uke 52-2013"} {:name=>"Uke 51-2013"} {:name=>"Uke 28-2013"} {:name=>"Uke 27-2013"} {:name=>"Uke 26-2013"} {:name=>"Uke 25-2013"} {:name=>"Uke 24-2013"} {:name=>"Uke 23-2013"} {:name=>"Uke 22-2013"} {:name=>"Uke 21-2013"} {:name=>"Uke 20-2013"} {:name=>"Uke 19-2013"} {:name=>"Uke 18-2013"} {:name=>"Uke 17-2013"} {:name=>"Uke 16-2013"} {:name=>"Uke 15-2013"} {:name=>"Uke 14-2013"} {:name=>"Uke 13-2013"} {:name=>"Uke 12-2013"} {:name=>"Uke 11-2013"} {:name=>"Uke 10-2013"} {:name=>"Uke 9-2013"} {:name=>"Uke 8-2013"} {:name=>"Uke 7-2013"} {:name=>"Uke 6-2013"} {:name=>"Uke 5-2013"} {:name=>"Uke 4-2013"} {:name=>"Uke 3-2013"} {:name=>"Uke 2-2013"} {:name=>"Uke 1-2013"} {:name=>"Uke 52-2012"} {:name=>"Uke 51-2012"} {:name=>"Uke 50-2012"} {:name=>"Uke 49-2012"} {:name=>"Uke 48-2012"} {:name=>"Uke 47-2012"} {:name=>"Uke 46-2012"} {:name=>"Uke 45-2012"} {:name=>"Uke 44-2012"} {:name=>"Uke 43-2012"} {:name=>"Uke 42-2012"} {:name=>"Uke 41-2012"} {:name=>"Uke 40-2012"} {:name=>"Uke 39-2012"} {:name=>"Uke 38-2012"} {:name=>"Uke 28-2012"} {:name=>"Uke 27-2012"} {:name=>"Uke 26-2012"} {:name=>"Uke 25-2012"} {:name=>"Uke 24-2012"} {:name=>"Uke 23-2012"} {:name=>"Uke 22-2012"} {:name=>"Uke 21-2012"} {:name=>"Uke 20-2012"} {:name=>"Uke 19-2012"} {:name=>"Uke 18-2012"} {:name=>"Uke 17-2012"} {:name=>"Uke 16-2012"} {:name=>"Uke 15-2012"} {:name=>"Uke 14-2012"} {:name=>"Uke 13-2012"} {:name=>"Uke 12-2012"} {:name=>"Uke 11-2012"} {:name=>"Uke 10-2012"} {:name=>"Uke 9-2012"} {:name=>"Uke 8-2012"} {:name=>"Uke 7-2012"} {:name=>"Uke 6-2012"} {:name=>"Uke 5-2012"} {:name=>"Uke 4-2012"} {:name=>"Uke 3-2012"} {:name=>"Uke 2-2012"} {:name=>"Uke 1-2012"} {:name=>"Uke 52-2012"} {:name=>"Uke 51-2011"} {:name=>"Uke 50-2011"} {:name=>"Uke 49-2011"} {:name=>"Uke 48-2011"} {:name=>"Uke 47-2011"} {:name=>"Uke 46-2011"} {:name=>"Uke 45-2011"} {:name=>"Uke 44-2011"} {:name=>"Uke 43-2011"} {:name=>"Uke 42-2011"} {:name=>"Uke 41-2011"} {:name=>"Uke 40-2011"} {:name=>"Uke 39-2011"} {:name=>"Uke 38-2011"} {:name=>"Uke 28-2011"} {:name=>"Uke 27-2011"} {:name=>"Uke 26-2011"} {:name=>"Uke 25-2011"} {:name=>"Uke 24-2011"} {:name=>"Uke 23-2011"} {:name=>"Uke 22-2011"} {:name=>"Uke 21-2011"} {:name=>"Uke 20-2011"} {:name=>"Uke 19-2011"} {:name=>"Uke 18-2011"} {:name=>"Uke 17-2011"} {:name=>"Uke 16-2011"} {:name=>"Uke 15-2011"} {:name=>"Uke 14-2011"} {:name=>"Uke 13-2011"} {:name=>"Uke 12-2011"} {:name=>"Uke 11-2011"} {:name=>"Uke 10-2011"} {:name=>"Uke 9-2011"} {:name=>"Uke 8-2011"} {:name=>"Uke 7-2011"} {:name=>"Uke 6-2011"} {:name=>"Uke 5-2011"} {:name=>"Uke 4-2011"} {:name=>"Uke 3-2011"} {:name=>"Uke 2-2011"} {:name=>"Uke 1-2011"} {:name=>"Uke 52-2011"} {:name=>"Uke 51-2010"} {:name=>"Uke 50-2010"} {:name=>"Uke 49-2010"} {:name=>"Uke 48-2010"} {:name=>"Uke 47-2010"} {:name=>"Uke 46-2010"} {:name=>"Uke 45-2010"} {:name=>"Uke 44-2010"} {:name=>"Uke 43-2010"} {:name=>"Uke 42-2010"} {:name=>"Uke 41-2010"} {:name=>"Uke 40-2010"} {:name=>"Uke 39-2010"} {:name=>"Uke 38-2010"} {:name=>"Uke 28-2010"} {:name=>"Uke 27-2010"} {:name=>"Uke 26-2010"} {:name=>"Uke 25-2010"} {:name=>"Uke 24-2010"} {:name=>"Uke 23-2010"} {:name=>"Uke 22-2010"} {:name=>"Uke 21-2010"} {:name=>"Uke 20-2010"} {:name=>"Uke 19-2010"} {:name=>"Uke 18-2010"} {:name=>"Uke 17-2010"} {:name=>"Uke 16-2010"} {:name=>"Uke 15-2010"} {:name=>"Uke 14-2010"} {:name=>"Uke 13-2010"} {:name=>"Uke 12-2010"} {:name=>"Uke 11-2010"} {:name=>"Uke 10-2010"} {:name=>"Uke 9-2010"} {:name=>"Uke 8-2010"} {:name=>"Uke 7-2010"} skipping invalid row: ["Viktig: Les fotnoter og forbehold om denne tabellen | Last ned"] skipping invalid row: ["Poll of polls stortingsvalget 2013 er en beregning av partienes nasjonale nivåer basert på et veiet snitt av lokale partimålinger med spørsmål om stemmegivning ved stortingsvalg.\nBeregningsmåten fremgår av Om-siden.\nPoll of polls oppdateres hver gang en ny lokal måling publiseres. Siste lokale måling med stortingsvalgspørsmål 22. mars.\nPoll of polls pr. 22/3-2018 bygger på 29 målinger i 19 fylker/kommuner med samlet 100,0% av stemmene i 2017. Målingene har i alt 16998 spurte."] {:name=>"Mars '18"} {:name=>"Februar '18"} {:name=>"Januar '18"} {:name=>"Desember '17"} {:name=>"November '17"} {:name=>"Oktober '17"} {:name=>"September '17"} {:name=>"August '17"} {:name=>"Juli '17"} {:name=>"Juni '17"} {:name=>"Mai '17"} {:name=>"April '17"} {:name=>"Mars '17"} {:name=>"Februar '17"} {:name=>"Januar '17"} {:name=>"Desember '16"} {:name=>"November '16"} {:name=>"Oktober '16"} {:name=>"September '16"} {:name=>"August '16"} {:name=>"Juli '16"} {:name=>"Juni '16"} {:name=>"Mai '16"} {:name=>"April '16"} {:name=>"Mars '16"} {:name=>"Februar '16"} {:name=>"Januar '16"} {:name=>"Desember '15"} {:name=>"November '15"} {:name=>"Oktober '15"} {:name=>"September '15"} {:name=>"August '15"} {:name=>"Juli '15"} {:name=>"Juni '15"} {:name=>"Mai '15"} {:name=>"April '15"} {:name=>"Mars '15"} {:name=>"Februar '15"} {:name=>"Januar '15"} {:name=>"Desember '14"} {:name=>"November '14"} {:name=>"Oktober '14"} {:name=>"September '14"} {:name=>"August '14"} {:name=>"Juli '14"} {:name=>"Juni '14"} {:name=>"Mai '14"} {:name=>"April '14"} {:name=>"Mars '14"} {:name=>"Februar '14"} {:name=>"Januar '14"} {:name=>"Desember '13"} {:name=>"November '13"} {:name=>"Oktober '13"} {:name=>"September '13"} {:name=>"August '13"} {:name=>"Juli '13"} {:name=>"Juni '13"} {:name=>"Mai '13"} {:name=>"April '13"} {:name=>"Mars '13"} {:name=>"Februar '13"} {:name=>"Januar '13"} {:name=>"Desember '12"} {:name=>"November '12"} {:name=>"Oktober '12"} {:name=>"September '12"} {:name=>"August '12"} {:name=>"Juli '12"} {:name=>"Juni '12"} {:name=>"Mai '12"} {:name=>"April '12"} {:name=>"Mars '12"} {:name=>"Februar '12"} {:name=>"Januar '12"} {:name=>"Desember '11"} {:name=>"November '11"} {:name=>"Oktober '11"} {:name=>"September '11"} {:name=>"August '11"} {:name=>"Juli '11"} {:name=>"Juni '11"} {:name=>"Mai '11"} {:name=>"April '11"} {:name=>"Mars '11"} {:name=>"Februar '11"} {:name=>"Januar '11"} {:name=>"Desember '10"} {:name=>"November '10"} {:name=>"Oktober '10"} {:name=>"September '10"} {:name=>"August '10"} {:name=>"Juli '10"} {:name=>"Juni '10"} {:name=>"Mai '10"} {:name=>"April '10"} {:name=>"Mars '10"} {:name=>"Februar '10"} {:name=>"Januar '10"} {:name=>"Desember '09"} {:name=>"November '09"} {:name=>"Oktober '09"} {:name=>"September '09"} {:name=>"August '09"} {:name=>"Juli '09"} {:name=>"Juni '09"} {:name=>"Mai '09"} {:name=>"April '09"} {:name=>"Mars '09"} {:name=>"Februar '09"} {:name=>"Januar '09"} {:name=>"Desember '08"} {:name=>"November '08"} {:name=>"Oktober '08"} {:name=>"September '08"} {:name=>"August '08"} {:name=>"Juli '08"} {:name=>"Juni '08"} {:name=>"Mai '08"} {:name=>"April '08"} {:name=>"Mars '08"} {:name=>"Februar '08"} {:name=>"Januar '08"} skipping invalid row: ["Viktig: Les fotnoter og forbehold om denne tabellen | Last ned"] skipping invalid row: ["Publiseringsdato er lagt til grunn for beregningene.\nPartier kan ha 4,0 pst oppslutning i tabellen, men likevel ingen utjevningsmandater. Det skyldes at partiets oppslutning er avrundet oppover til 4,0 pst.\nMandatfordelingen er basert på forutsetningen om at partiene har lik relativ endring i alle fylker. Se nærmere om nedbrytning på Om-siden.\nFordelingen av de siste distriktsmandatene og utjevningsmandatene, samt fordelingen av partienes utjevningsmandater på det enkelte fylke, kan ofte bero på svært få stemmer. Tallene må derfor leses med varsomhet.\nRødt og \"Andre\" har ikke blitt registrert i perioder."]

Data

Downloaded 564 times by vgno jarib MikeRalphson Pederz

To download data sign in with GitHub

Download table (as CSV) Download SQLite database (374 KB) Use the API

rows 10 / 4310

startDate endDate source election region party percentage comment mandates
2018-03-19
2018-03-25
pollofpolls.no
county
Norge
A
25.0
Uke 12-2018
190
2018-03-19
2018-03-25
pollofpolls.no
county
Norge
H
26.1
Uke 12-2018
178
2018-03-19
2018-03-25
pollofpolls.no
county
Norge
FrP
11.6
Uke 12-2018
86
2018-03-19
2018-03-25
pollofpolls.no
county
Norge
SV
7.0
Uke 12-2018
55
2018-03-19
2018-03-25
pollofpolls.no
county
Norge
Sp
17.3
Uke 12-2018
153
2018-03-19
2018-03-25
pollofpolls.no
county
Norge
KrF
3.9
Uke 12-2018
29
2018-03-19
2018-03-25
pollofpolls.no
county
Norge
V
4.6
Uke 12-2018
31
2018-03-19
2018-03-25
pollofpolls.no
county
Norge
MDG
4.5
Uke 12-2018
28
2018-03-19
2018-03-25
pollofpolls.no
county
Norge
R
3.0
Uke 12-2018
17
2018-03-19
2018-03-25
pollofpolls.no
county
Norge
Andre
1.8
Uke 12-2018
10

Statistics

Average successful run time: less than a minute

Total run time: about 11 hours

Total cpu time used: 28 minutes

Total disk space used: 418 KB

History

  • Manually ran revision f4109e8c and completed successfully .
    3790 records added, 520 records updated in the database
    4 pages scraped
  • Auto ran revision 1423da3d and failed .
    nothing changed in the database
  • Auto ran revision 1423da3d and failed .
    6 records updated in the database
  • Auto ran revision 1423da3d and failed .
    520 records updated in the database
  • Auto ran revision 1423da3d and failed .
    829 records removed in the database
  • ...
  • Created on morph.io

Show complete history

Scraper code

Ruby

pollofpolls-scraper / scraper.rb