{"adoption": {"forks": 115, "observed_at": "2026-08-28T04:03:44.298244+00:00", "stars": 1140}, "canonical_url": "https://ross.abutalabs.com/products/newspaper4k", "card": {"archived": false, "artifact_type": "library", "description": "📰 Newspaper4k a fork of the beloved Newspaper3k. Extraction of articles, titles, and metadata from news websites. ", "domain": ["crawlers", "data-science", "developer-tools"], "enriched": true, "function": ["web-scraping", "parser", "nlp", "cli"], "health_score": 100, "homepage": "https://newspaper4k.readthedocs.io/en/latest/index.html", "language": "Python", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["AndyTheFactory/newspaper4k"], "name": "AndyTheFactory/newspaper4k", "platform": ["python", "cli", "cross-platform"], "pushed_at": "2026-08-24T12:19:08+00:00", "repo": "AndyTheFactory/newspaper4k", "stars": 1140, "tags": ["article-extraction", "news-scraping", "metadata-extraction", "newspaper3k-fork", "natural-language-processing"], "topics": ["articles", "articles-data", "crawler", "datasets-preparation", "news", "python", "requests", "scraper", "scraping", "newspaper3k"], "urls": [], "use_cases": ["extract article text from news urls", "scrape news websites for article metadata", "parse authors and publish dates from articles", "build datasets from news articles", "download and curate newspaper articles in python", "extract articles from urls to  from the command line"], "what_it_is": "Newspaper4k is a Python library and CLI for scraping and curating news articles, extracting text, titles, authors, publish dates, and metadata from news websites. It is an actively maintained fork of the popular newspaper3k project with a compatible API.", "when_to_avoid": ["you need general-purpose web scraping of arbitrary page structures", "you need JavaScript-rendered content extraction", "you need a full crawler framework with scheduling"], "when_to_choose": ["you need article text and metadata from news sites in Python", "you are migrating from newspaper3k and want a maintained fork", "you want a quick CLI to dump an article as JSON"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/newspaper4k", "repo": "AndyTheFactory/newspaper4k", "role": "main", "score": 84}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:03:44.298244+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T06:35:25.771826+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "316a405e93a7b80e578107c3b389b5675f1cf4126f77576f70e3bd0bd2b3c296", "fetched_at": "2026-08-28T04:03:44.298244+00:00", "kind": "readme", "missing": false, "url": "https://github.com/AndyTheFactory/newspaper4k"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:03:44.298244+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T06:35:25.771826+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "316a405e93a7b80e578107c3b389b5675f1cf4126f77576f70e3bd0bd2b3c296", "fetched_at": "2026-08-28T04:03:44.298244+00:00", "kind": "readme", "missing": false, "url": "https://github.com/AndyTheFactory/newspaper4k"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T06:35:25.771826+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "316a405e93a7b80e578107c3b389b5675f1cf4126f77576f70e3bd0bd2b3c296", "fetched_at": "2026-08-28T04:03:44.298244+00:00", "kind": "readme", "missing": false, "url": "https://github.com/AndyTheFactory/newspaper4k"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:03:44.298244+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:03:44.298244+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:03:44.298244+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T06:35:25.771826+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "316a405e93a7b80e578107c3b389b5675f1cf4126f77576f70e3bd0bd2b3c296", "fetched_at": "2026-08-28T04:03:44.298244+00:00", "kind": "readme", "missing": false, "url": "https://github.com/AndyTheFactory/newspaper4k"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:03:44.298244+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:03:44.298244+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T06:35:25.771826+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "316a405e93a7b80e578107c3b389b5675f1cf4126f77576f70e3bd0bd2b3c296", "fetched_at": "2026-08-28T04:03:44.298244+00:00", "kind": "readme", "missing": false, "url": "https://github.com/AndyTheFactory/newspaper4k"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:03:44.298244+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:03:44.298244+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:03:44.298244+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T06:35:25.771826+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "316a405e93a7b80e578107c3b389b5675f1cf4126f77576f70e3bd0bd2b3c296", "fetched_at": "2026-08-28T04:03:44.298244+00:00", "kind": "readme", "missing": false, "url": "https://github.com/AndyTheFactory/newspaper4k"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:03:44.298244+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:03:44.298244+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T06:35:25.771826+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "316a405e93a7b80e578107c3b389b5675f1cf4126f77576f70e3bd0bd2b3c296", "fetched_at": "2026-08-28T04:03:44.298244+00:00", "kind": "readme", "missing": false, "url": "https://github.com/AndyTheFactory/newspaper4k"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T06:35:25.771826+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "316a405e93a7b80e578107c3b389b5675f1cf4126f77576f70e3bd0bd2b3c296", "fetched_at": "2026-08-28T04:03:44.298244+00:00", "kind": "readme", "missing": false, "url": "https://github.com/AndyTheFactory/newspaper4k"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T06:35:25.771826+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "316a405e93a7b80e578107c3b389b5675f1cf4126f77576f70e3bd0bd2b3c296", "fetched_at": "2026-08-28T04:03:44.298244+00:00", "kind": "readme", "missing": false, "url": "https://github.com/AndyTheFactory/newspaper4k"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T06:35:25.771826+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "316a405e93a7b80e578107c3b389b5675f1cf4126f77576f70e3bd0bd2b3c296", "fetched_at": "2026-08-28T04:03:44.298244+00:00", "kind": "readme", "missing": false, "url": "https://github.com/AndyTheFactory/newspaper4k"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 74, "rhythm": 69}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 1046, "days_push": 9, "days_rel": 45, "gap_med": 102, "n_releases_24m": 4}, "score": 84, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}