Skip to main content

A Python tool to extract information from VoxCharta My Voting Records HTML

Project description

voxcharta-my-voting-record

PyPI - Python Version PyPI License Code style: black

PyPI - Downloads Hits


Overview

This pure Python tool web scrapes data from Vox Charta's My Voting Records page. It provides the data contents in two forms, a non-relational JSON file and relational CSV file.

This software was driven by the need to archive such records since Vox Charta will be sunsetted on December 31, 2020.

Getting Started

These instructions will have the code running.

Requirements

This software is tested with Python 3.9.1, the latest version available when developed. In principle it should work with >=3.7. It requires BeautifulSoup4 and pandas.

Installation Instructions

Python and setting up an environment

Using your preferred Python environment manager (conda, virtualenv, venv), I recommend create a separate environment to avoid any possible conflicts with existing software that you used. Below are conda instructions

$ (sudo) conda create -n voxcharta python=3.9.1

Installation is straightforward:

$ conda activate voxcharta
$ (sudo) pip install voxcharta-my-voting-record

Or from source:

$ conda activate voxcharta
$ git clone https://github.com/astrochun/voxcharta-my-voting-record.git
$ cd voxcharta-my-voting-record
$ (sudo) python setup.py install

Vox Charta Data Export

Before using this software, you will want to export your Vox Charta My Voting Records page. Here are the steps. These are based on Chrome, so differences may occur:

  1. Login to Vox Charta before you can't!
  2. Click on "Tools > My Voting Records"
  3. After the page fully loads (this can take some time), click "File > Save Page As"
  4. Change filename to "myvotingrecords"
  5. For format, select "Webpage, Complete"

Execution

The primary script to execute is vox_run

Execution requires only one argument, which is the full path to the HTML file. It can be provided with the -f or --filename command-line flags.

$ vox_run -f /full/path/to/myvotingrecords.htm

All contents are stored in /full/path/to. Unless -j/--json_outfile and -c/--csv_outfile flags are provided, these are the output files are:

  • JSON: /full/path/to/myvotingrecords.json
  • CSV: /full/path/to/myvotingrecords.csv

A log file is constructed: /full/path/too/vox_run.YYYY-MM-DD.log

Versioning

We use SemVer for versioning. For the versions available, see the releases on this repository.

Authors

License

This project is licensed under the GNU GPLv3 License - see the LICENSE file for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

voxcharta-my-voting-record-0.3.2.tar.gz (18.2 kB view hashes)

Uploaded Source

Built Distribution

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page