
newspaper3k
Python library that downloads news articles and pulls out their text, title, and metadata.codelucas/newspaper
- Stars
- 15.2k
- Forks
- 2.1k
- Licence
- MIT
- Language
- Python
- Last update
- 11 days ago
- Type
- Library
What it is
newspaper3k is a Python 3 library for extracting news content from web pages. Given an article URL, it aims to return the main text along with metadata such as the title and authors. People use it to collect news articles for analysis or to build news aggregators without writing their own page parsers.
- Download and parse a news article from a URL to get its main text
- Extract article metadata such as title and other fields from a list of news links
- Build a simple news aggregator that collects articles from several sites
Great for
- Python developers building news aggregation or article collection scripts
- Data researchers gathering article text for analysis
- Hobbyists experimenting with web scraping of news sites
Not ideal for
- Non-programmers, since it requires writing Python code to use
- Projects needing guaranteed accuracy on every site, because extraction quality varies by page layout
- Anyone needing a maintained, actively developed tool, since the README provided no details on current maintenance status beyond the latest release listed as 0.0.9
How to get it
- 1
Install with a package manager
You'll need: Python 3
Install via pip
pip install newspaper3k - 2
Run it
- Install the package with pip
- Import the Article class in a Python script
- Pass a news article URL to the Article object, download it, and parse it
- Read the extracted title and text from the object
- 3
Get the most out of it
- Check the advanced docs linked in the project description for more options
- Use the metadata extraction features alongside the text extraction for richer datasets
Downloads
Strengths
- Focused on news articles, so it handles common article extraction without custom parsing rules
- Written in Python 3 with a permissive MIT license
- Widely starred on GitHub, indicating broad community interest
Trade-offs
- The README provided here was truncated, so detailed usage and limitations could not be confirmed
- Extraction quality depends on each website's page structure and may miss content
- Latest release is 0.0.9 with no binaries, so it is installed as a Python package rather than as an app
How it compares
| Project | Stars | Type | Level | Updated | Best for |
|---|---|---|---|---|---|
| newspaper (this) | 15.2k | Library | intermediate | 11 days ago | Python developers building news aggregation or article collection scripts |
| lux | 31.8k | CLI | beginner | 7 months ago | People who want to save videos from supported sites to a local file from the command line |
| cheerio | 30.5k | Library | beginner | 4 days ago | JavaScript developers who already know jQuery-style selectors |
| spider-flow | 11.4k | App | intermediate | 3.4 years ago | Non-programmers who need to collect data from websites and prefer visual flow definitions |
| Scrapegraph-ai | 32.4k | Library | intermediate | 1 months ago | Developers who want to extract structured data from web pages using a plain-language prompt |
| proxy_pool | 23.8k | App | intermediate | 5 months ago | Developers building web scrapers who want to experiment with rotating proxies |
Stats synced from GitHub. The assessment above was drafted with AI from the project's README on 2026-10-29 and may miss recent changes — check the README before relying on a command. MIT licence: free to use, modify and distribute, including commercially, as long as you keep the copyright notice.