Skip to content

Code to scrape the results of the 2017 UK general election (votes per party per constituency)

Notifications You must be signed in to change notification settings

MassAtLeeds/ElectionScrape

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 

Repository files navigation

ElectionScrape

Code to scrape the results of the 2017 UK general election (votes per party per constituency)

It reads the data from the BBC election results pages. E.g.: http://www.bbc.co.uk/news/politics/constituencies/E14000636

Here's one we prepared earlier: election_results-2017.csv

NOTE: Some constituencies have commas in their names. This is a pain, and I ignore anything after the comma. E.g. the constituency (S14000019) "East Kilbride, Strathaven and Lesmahagow" will only be called "East Kilbride".

NOTE: the data haven't been extensively validated. They might be wrong! Please check before using.

Requirements

  • python3
  • BeautifulSoup library (install with something like: pip install beautifulsoup4).

Usage Instructions

  • Download this project. It includes the script to do the scraping (scrape.py) and a list of all constituency names.
  • Run it with: python scrape.py
  • It will make a file called election_results-2017.csv

Note: it takes a second or so to do each constituency, so will take around 10 mins to do all 650 constituencies.

Other resources

Matt Daws put together a nice script to scrape the results of the 2010 election:

https://github.com/MatthewDaws/Python_bits/blob/master/election2017/Previous%20Results.ipynb

About

Code to scrape the results of the 2017 UK general election (votes per party per constituency)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages