trove-newspaper-harvester

tool for downloading large numbers of digitised newspaper articles from Trove

View the full documentation

The Trove Newspaper (& Gazette) Harvester makes it easy to download large quantities of digitised articles from Trove’s newspapers and gazettes. Just give it a search from the Trove web interface, and the harvester will save the metadata of all the articles in a CSV (spreadsheet) file for further analysis. You can also save the full text of every article, as well as copies of the articles as JPG images, and even PDFs. While the web interface will only show you the first 2,000 results matching your search, the Newspaper Harvester will get everything.

No installation required!

If you want to use the harvester without installing anything, just head over to the Trove Newspaper Harvester section in my GLAM Workbench.

Installation

pip install trove-newspaper-harvester

Use as a library

from trove_newspaper_harvester.core import prepare_query, Harvester

Generate a set of query parameters using prepare_query.

my_query = "https://trove.nla.gov.au/search/category/newspapers?keyword=wragge"
my_api_key = "mYSecREtkEy"

my_query_params = prepare_query(query=my_query, key=my_api_key)

Initialise the Harvester with your query parameters.

harvester = Harvester(query_params=my_query_params)

Start the harvest!

harvester.harvest()

If the harvest fails just run Harvester.harvest again.

See the core module documentation for more options and examples.

Use as a command-line tool

Before you do any harvesting you need to get yourself a Trove API key.

There are three basic commands:

  • start – start a new harvest
  • restart – restart a stalled harvest
  • report – view harvest details

Start a harvest

To start a new harvest you can just do:

troveharvester start "[Trove query]" [Trove API key]

The Trove query can either be a url copied and pasted from a search in the Trove web interface, or a Trove API query url constructed using something like the Trove API Console. Enclose the url in double quotes.

See the CLI module documentation for more details.


Created by Tim Sherratt for the GLAM Workbench. Support this project by becoming a GitHub sponsor.