Comparative content analysis of MinnPost and Sahan Journal coverage on public safety, education inequities, and environmental justice in the Twin Cities using web scraping, full-text parsing, and qualitative methods.
A Digital Content Analysis of Nonprofit News Coverage in the Twin Cities
This repository contains the tools, data, and documentation for a comparative content analysis project examining the editorial practices and narrative strategies of two influential nonprofit newsrooms in the Twin Cities region: MinnPost and Sahan Journal. The project investigates how these newsrooms frame and report on three structurally embedded civic issues—public safety and policing, educational inequities, and environmental justice—with an eye toward understanding how nonprofit journalism engages local publics, represents communities, and navigates institutional and civic obligations.
In the contemporary media environment, nonprofit news organizations have emerged as vital institutions for local communities. Yet little empirical work has examined how these outlets construct the "local public" through coverage, whose voices are elevated or excluded, and what ideological or narrative frameworks guide their reporting.
This project aims to bridge that gap by combining digital methods, qualitative coding, and comparative analysis to examine:
- Media framing of structural issues
- Audience positioning and community engagement
- Source diversity and representation
- Editorial decisions within nonprofit constraints
- MinnPost: A nonprofit newsroom founded in 2007, known for in-depth reporting on Minnesota politics, policy, and civic life.
- Sahan Journal: Established in 2019, this newsroom focuses on immigrant and communities of color, centering racial equity and lived experience in local reporting.
- How do MinnPost and Sahan Journal frame public safety, education, and environmental justice issues in their reporting?
- What types of sources are most frequently quoted or cited across these topics?
- How do these newsrooms differ in their editorial orientation and imagined audiences?
- In what ways do nonprofit missions shape narrative strategies and the construction of civic identity?
- How do term co-occurrences reflect thematic emphasis and framing patterns across the two newsrooms?
- Collected over 100 articles from both outlets between March 2024 and December 2024.
- Used Python with
requests
,BeautifulSoup
, andnewspaper3k
for full-text scraping. - Filtered articles by topic section (Metro / Democracy & Politics) and publication date.
- Preprocessed text to extract keywords and build term co-occurrence networks.
- Used
NetworkX
to visualize how issues and themes cluster together in discourse.
- Interviews with 4–6 newsroom personnel at each outlet (editors, reporters, audience leads).
- Focused on editorial priorities, community outreach, and institutional challenges.
- Transcribed and thematically coded in NVivo or Dedoose.
- A purposive sample of 20–30 articles per outlet (~60 total).
- Topics include:
- Public safety and policing
- Education inequities
- Environmental justice / urban redevelopment
- Both news reporting and opinion pieces are included.
- Coded for:
- Framing (structural, institutional, individual)
- Source types (government, community, experts, activists)
- Language and tone (emotive, neutral, advocacy-oriented)
- Audience positioning and civic engagement cues
- Visual representation (photos, captions, imagery)
- Python for article scraping and text processing
newspaper3k
,BeautifulSoup
,requests
,pandas
,nltk
- NetworkX and
matplotlib
for co-occurrence network visualization - NVivo / Dedoose for qualitative thematic coding
- Jupyter Notebooks for exploratory data analysis and interactive workflows
- Gephi for advanced network graph modeling
This repository is part of an ongoing research project on nonprofit journalism, media framing, and civic discourse in the Twin Cities. Feedback and collaboration are welcome.