Skip to content

Created with CBC's Fifth Estate to scrape missing persons and unidentified remains from an RCMP and present them in a single UI so that they can more easily be matched.

Notifications You must be signed in to change notification settings

CivicTechTO/missing-persons

Repository files navigation

Missing Persons

The goal of this project is to better support the resolution of missing persons cases in Canada.

App URL

https://civictechto.github.io/missing-persons/

Background

The project steward with journalistic experience from CBC's The Fifth Estate has brought forward the following background:

  • there is a single national RCMP database for tracking both:
    1. missing persons and
    2. unidentified remains
  • very scarce police resources go toward resolving these cases once they're in the system (priority for more urgent cases)
  • the database does not make it easy to compare even the very data within its own system (missing persons and remains)
  • the data that backs the database isn't available as open data

The Project

  1. Scrape the database regulary and save it in a more accessible format to make it more accessible for various efforts
  2. Build a better front-end to support matching missing persons cases to remains, making it easier for people to identify matches and close cases

Usage

These instructions assume using pipenv, but it can be done without

Requirements:

  • Python 3.3+ (can be installed via pyenv recommendation)
  • pipenv: A package manager for locking specific versions of dependencies
    • e.g., brew install pipenv
  • make
  • Chrome browser

Recommendations:

  • pyenv: for managing/installing multiple python versions.
    • e.g., brew install pyenv
    • then pyenv install --skip-existing within this project, to install a known-good version of Python.
make setup
make install

Note: If you don't wish to use pipenv, just open up Makefile and run its commands directly.

Web Scraping the RCMP Database with Python & Selenium

The required packages can be found in requirments.txt, bs4 and selenium are the main non-standard packages needed.

An easy way to get started is with Anaconda. Anaconda is an open source environment and package manager for Python. Anaconda provides a GUI and CLI for creating and managing project environments easily.

A useful intro: https://medium.com/analytics-vidhya/anaconda-101-199c84ca897a

To create an environment with all the required packages you can run the following in the conda CLI.

conda create --name <env_name> --file requirements.txt You can run the script.py file in this virtual environment.

Anaconda: https://www.anaconda.com/products/distribution

Get Involved

The following is current as of Tue, Feb 14, 2023.

About

Created with CBC's Fifth Estate to scrape missing persons and unidentified remains from an RCMP and present them in a single UI so that they can more easily be matched.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published