propublica/upton
A batteries-included framework for easy web-scraping. Just add CSS! (Or do more.) observed · 2026-08-28
Health v2 · maintenance only
32/100
- Activity 0
- Release rhythm 35
- Longevity 100
Flags: no_releases
How is this computed?
round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10) — computed 2026-09-02. Adoption (stars, forks) is never an input.
- gap_med: n/a
- age_days: 4844
- days_rel: n/a
- days_push: 2807
- n_releases_24m: 0
Adoption not part of the score
1597 stars · 108 forks observed · 2026-08-28
What it is AI-extracted, prompt v1, taxonomy v1, 2026-08-30, confidence not recorded
Upton is a Ruby framework that handles the repetitive parts of writing web scrapers, letting developers focus on site-specific CSS selectors or XPath expressions. It includes a debug stash mode that caches responses to avoid hammering target servers, plus built-in pagination and CSV export.
Use cases
- scrape a list of links from a website into a CSV
- extract structured data from paginated search result pages
- scrape tables or lists from news articles
- build a scraper that caches pages during development
- scrape a site politely with delays between requests
- scrape data from an API by overriding index fetching
When to choose
- you're writing a Ruby scraper and want pagination, throttling, and caching handled for you
- you need to scrape index pages that link to instance pages
- you want a quick CSV output from a scraping project
When to avoid
- you need a JavaScript-rendered (SPA) scraping solution
- you're not working in Ruby
- you need a maintained project - the last release was in 2018
Facets
framework · maturity maintenance
web-scraping parser crawlers ruby scraping-framework nokogiri csv-export rate-limiting debug-stash data-engineering automation
1 source
- readme: https://github.com/propublica/upton · fetched 2026-08-28 · 946347607d6f
Member repositories
| Repository | Role | Health v2 |
|---|---|---|
| propublica/upton | main | 32 |
For agents
markdown · JSON · MCP: product_card(name="propublica/upton")
Data as of 2026-08-30T08:39:29.467469+00:00 · Report a problem