Find a Grave Tools project on GitHub

Find a Grave Tools

Project Recap

Client

Cindy Foster @ iHuntDeadPeople.com

Date

2024

Summary

Create a local stash of "Find a Grave" (https://www.findagrave.com) memorial pages. Extract/report data.

Project Details

Background

Cindy Foster @ iHuntDeadPeople.com is a genealogy researcher. Her latest project is creating a book about the five protestant cemeteries in Sherrill, Iowa. The book catalogs all of the burials in those cemeteries (as well as connected family burials). Additionally, her book presents a collection of data and stories around the lives of those people.

Problem

When Cindy begins to gather data for a new genealogy research project, one of her sources are the cemetery and memorial pages from https://www.findagrave.com. She will manually look up data from every memorial (burial) page and enter it (again manually) into an Excel spreadsheet.

This phase of her research can be very tedious and consume a large amount of time. Cindy asked if it was possible to develop software to automate the task as well as save the data into Excel.

Solution

Unfortunately 'Find a Grave' does not expose a public API to programatically extract information. If we want to mine data from the website for a project, we have to scrape the pages.

Two scripts and a library of functions were written using Python. The first script acts like a person using a web browser and pulls each memorial page, then saves it to a local folder on the computer running the script. The second script reads the collection of stashed pages, pulls the appropriate data from each page, then saves it into a formatted Excel spreadsheet. Each cemetery is a separate sheet, and both cell text/column data were formatted depending on their type.

Tools & Resources

VS Code, Python, Python libraries (Beautiful Soup and xlsxWriter), Git, GitHub, GitKraken

Discussion

The project was done as an Open Source project and resides in a public repository on GitHub at https://github.com/doug-foster/Find-a-Grave-Tools.

Category: Projects, Thoughts
Topics: Technology
Tags: Cindy Foster
Skills: Software