HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
codelucas
newspaper
Python2013–2021
codelucas / newspaper

newspaper

newspaper3k is a news, full-text, and article metadata extraction in Python 3. Advanced docs:

15Distinct people
15Mentions
0Explicit recommenders
15.2KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

newspaper3k is a news, full-text, and article metadata extraction in Python 3. Advanced docs:

GitHub

Where it is used

No documented product use was verified in the last source check.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 3:03:16 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year15 dated mentions

Observed mentions: 2013-12-23 18:56:59 UTC to 2021-02-15 14:28:55 UTC.

012342013-01-01 00:00:00 UTC to 2014-01-01 00:00:00 UTC (exclusive): 1 mentions; 1 submissions, 0 comments20132014-01-01 00:00:00 UTC to 2015-01-01 00:00:00 UTC (exclusive): 2 mentions; 1 submissions, 1 comments2015-01-01 00:00:00 UTC to 2016-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2016-01-01 00:00:00 UTC to 2017-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2017-01-01 00:00:00 UTC to 2018-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments20172018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 3 mentions; 0 submissions, 3 comments2020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 4 mentions; 0 submissions, 4 comments2021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2021

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20132013-01-01 00:00:00 UTC2014-01-01 00:00:00 UTC110
20142014-01-01 00:00:00 UTC2015-01-01 00:00:00 UTC211
20152015-01-01 00:00:00 UTC2016-01-01 00:00:00 UTC000
20162016-01-01 00:00:00 UTC2017-01-01 00:00:00 UTC101
20172017-01-01 00:00:00 UTC2018-01-01 00:00:00 UTC101
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC202
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC303
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC404
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC101

What Hacker News says

15 sources
Nice job! I love the UI. For hackers who want to find the best open sourced tools to work/parse news data (disclaimer: I'm a creator to some of those): 1. PyGoogleNews [1] -- If Google News had a Python library 2. NewsCatcher [2] -- Programmatically collect normalized news from (almost) any website 3. NewsPaper3k [3] -- Article scraping & curation 4. Mercury Parser [4] -- Extracting content from chaos [1] https://github.com/kotartemiy/pygooglenews` [2] https://github.com/kotartemiy/newscatcher [3] https://github.com/codelucas/newspaper [4] https://github.com/postlight/mercury-parser
In Show HN: Dato.rss – RSS Search
As others have noted, this doesn't seem to collect the full article text, just stuff that you would get from an RSS fee. From the title, I expected something more like newspaper3k[0]. I used that for an NLP class during undergrad to collect full-text news articles, in conjunction with Selenium (many mainstream sites don't work with just plain wget or requests). Lately I've starting using EpubPress[1] to grab full-text articles and generate an ePub, which happens every night via cron. Then I can get a full digest on my iPad over sftp at my leisure. Sadly EpubPress is not very sophisticated, sites like Bloomberg or ArsTechnica return "are you a robot" challenges which it can't bypass. I wish there was some kind of community driven library for retrieving full-text articles from common sites. In my vision of how that would work, users would c
Read the rest
ontribute hand-crafted Selenium scripts to download and extract the article text, bypassing the bot-detection for each site. Then something like EpubPress would work a lot better. The "modern web" just has too much junk to be interesting any more. Sometimes news sites publish articles I would like to read, but I'm not interested in dealing with 1000 different implementations of crappy mobile UIs, advertisements, animations, etc. I know reader view exists, but you still have to wait for the page to load, and it doesn't work very well for some sites. For the sites it doesn't break with, the experience with EpubPress is much better. 0 - https://github.com/codelucas/newspaper 1 - https://epub.press/
In Show HN: Python package to collect normalized news from almost any website
Depending on what you're trying to do, there's also newspaper3k: https://github.com/codelucas/newspaper It's quite easy to get "good" extraction for large numbers of outlets/articles without a massive amount of special-casing, as news articles are nearly universally marked up with RDF metadata (partly for Google News's benefit). Article discovery, and perfect parsing, is quite a bit harder. I ended up rolling a new Scrapy project with site-specific parsing code for an academic project as I had quite specific requirements.
In Show HN: Python package to collect normalized news from almost any website
> This can be abused by bad actors to get obvious or difficult-to-refute falsehoods into the public memetic consciousness by repeating them. This is exactly why I started the project also I know there are hit pieces that are coordinated between the news-sites. I wonder how much other news that is reported is also coordinated reporting. However I have no direct proof of this and I cannot start from trying to prove something that I suspect. First I need to collect and analyse data fairly. So far I've just used newspaper to do the hard work of scraping for me (https://github.com/codelucas/newspaper) some basic filtering techniques e.g. I discard everything that has a question mark at the end of it (Betteridge's law of headlines and an MySQL to store articles etc. Then I run the second script to do some basic string analysis. I am going to be
Read the rest
building a small web app to display the results. So far it is early days (It about 4 or 5 python files and a config file) and I have got two other projects I am working on that probably need completing first.
In Ask HN: What are your news sources other than HN?
> I imagine it starts with "links -dump", but then there's using the title as the filename, The title tag may exceed the filename length limit, be the same for nested pages, or contain newlines that must be escaped. These might be helpful for your use case: "Newspaper3k: Article scraping & curation" https://github.com/codelucas/newspaper lazyNLP "Library to scrape and clean web pages to create massive datasets" https://github.com/chiphuyen/lazynlp/blob/master/README.md#s... scrapinghub/extruct https://github.com/scrapinghub/extruct > extruct is a library for extracting embedded metadata from HTML markup. > It also has a built-in HTTP server to test its output as JSON. > Currently, extruct supports: > - W3C's HTML Microdata > - embedded JSON-LD > - Microformat via mf2py > - Facebook's Open Graph > - (experimental) RDFa via rdflib
In Ask HN: Scripts/commands for extracting URL article text? (links -dump but)
I love this! When learning to program, I wrote a clone of a basic java game by Notch: Mine: http://codelucas.com/pages/island-overlord.html His: https://mojang.com/notch/ld12/breaking/ The code: Mine: https://github.com/codelucas/islandoverlord His: https://mojang.com/notch/ld12/breaking/BreakingTheTower.zip I also "cloned" a well known python article extraction library (goose) on Github with my own api & new functionality and my repo ended up doing super well (even better than the original). https://github.com/codelucas/newspaper vs. https://github.com/grangier/python-goose
In Imitate. We are imperfect mirrors

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.