NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI
Simplified python article discovery & extraction.
Last release 2 months ago
19 Jul 2026
Ships unpredictably
gaps range from 9 days to 1.7 years
Nearly every release is documented
notes for 9 of 9 stable releases
Nothing withdrawn
no release was ever pulled
3 years old
9 releases · first in 2023
One column per quarter.
Added native PyInstaller support
lxml 6.x support[66f2c3a](https://github.com/AndyTheFactory/newspaper4k/commit/66f2c3a4efd16a1c4f9cb04bc5d32f1ab7f59dc0))[9c38f43](https://github.com/AndyTheFactory/newspaper4k/commit/9c38f43169abada4f1c6e09a20819709d8ebffef))[f862726](https://github.com/AndyTheFactory/newspaper4k/commit/f8627261d905f1ea8f1f917c55a2ef795252ed09))[ae06add](https://github.com/AndyTheFactory/newspaper4k/commit/ae06addb443cf88f597a138fe80f2701c2660006))lxml upper bound to support 6.x ([31abed9](https://github.com/AndyTheFactory/newspaper4k/commit/31abed974fae8d3e7a621abf698fceb3614263dd))Full Changelog: [0.9.5...0.9.6](https://github.com/AndyTheFactory/newspaper4k/compare/0.9.5...0.9.6)
rework: type annotations removed deprecated types (python 3.10+)
datePublished over dateCreated in JSON-LD extractionnltk as an optional dependency for leaner deploymentsdo_request by Andrei in 62dece9get_html by Andrei in 708cc10datePublished over dateCreated in JSON-LD extraction by Pontus Svensson in cdadb9enltk as an optional dependency for leaner deployments by Andrei in e073459status_code (fix #684) by Andrei in 7caa2a5Full Changelog: 0.9.4...0.9.5
feat: add support for python 3.14
Full Changelog: 0.9.4...0.9.4.1
Bumped min Python version to 3.10. Version 3.8 and 3.9 are no longer supported, but might still work.
Bumped min Python version to 3.10. Version 3.8 and 3.9 are no longer supported, but might still work.
Bumped min Python version to 3.10. Version 3.8 and 3.9 are no longer supported, but might still work.
2345076) (by Andrei)6ff72bd) (by Andrei)10cae21) (by Andrei)80279d1) (by Andrei)cb560f7) (by Andrei)7ed25e9) (by Andrei)typing-extensions, lxml compatibility (#639)(c5e4170) (by Chris)059b45c) (by Andrei)2ab8208) (by Michael Braun)3039463) (by Andrei)88fc5a7) (by Andrei)802ae11) (by Andrei)Some fixes with regards to python >= 3.11 dependencies. Numpy version was incompatible with colab. Now it is fixed.
Some fixes with regards to python >= 3.11 dependencies. Numpy version was incompatible with colab. Now it is fixed.
Also, there was a typo in the Nepali language code - it was "np" instead of "ne". This is now fixed.
Massive improvements in multi-language capabilities. Added over 40 new languages and completely reworked the language module. Much easier to add new l
Massive improvements in multi-language capabilities. Added over 40 new languages and completely reworked the language module. Much easier to add new languages now. Additionally, added support for Google News as a source. You can now search and parse news based on keywords, topic, location or website.
Integrated cloudscraper as an optional dependency. If installed, it will us cloudscraper as a layer over requests. Cloudscraper tries to bypass cloudflair protection.
We now have use two evaluation datasets - the one from scrapinghub and one created by us drom the top 200 most popular websites. This will help keeping track of future improvements and to have a clear view of the impact of the changes.
We see a steady improvement from version 0.9.0 up to 0.9.3. The evaluation results are available in the documentation. The evaluation dataset is also available in the following repository: Article Extraction Dataset
Massive improvements in multi-language capabilities. Added over 40 new languages and completely reworked the language module. Much easier to add new languages now. Additionally, added support for Google News as a source. You can now search and parse news based on keywords, topic, location or website. Integrated cloudscraper as an optional dependency. If installed, it will us cloudscraper as a layer over requests. Cloudscraper tries to bypass cloudflair protection. We now have use two evaluation datasets - the one from scrapinghub and one created by us drom the top 200 most popular websites. This will help keeping track of future improvements and to have a clear view of the impact of the changes.
We see a steady improvement from version 0.9.0 up to 0.9.3. The evaluation results are available in the documentation. The evaluation dataset is also available in the following repository: Article Extraction Dataset
0833859) (by Andrei)fd41af5) (by Andrei)bba7a99) (by Andrei)13670c3) (by Andrei)4ff82a8) (by Andrei)afcdc27) (by Andrei)89f3152) (by Andrei)f0f8133) (by Andrei)ef40042) (by Andrei)afca45b) (by Andrei)0bd48ec) (by Andrei)7a08fc2) (by Andrei)665f6fe) (by Andrei)af3f80f) (by Andrei)f564524) (by Andrei)33c3409) (by Andrei)6b8c23e) (by Andrei)720bfe4) (by Andrei)cd921a3) (by Andrei)a3b6250) (by Andrei)17a2dad) (by Andrei)7a3abe9) (by Andrei)7ad77cf) (by Andrei)d5e8b2b) (by Andrei)2f7b698) (by Andrei)0096999) (by Andrei)5a226e0) (by Andrei)07076cb) (by Andrei)3bb4ca9) (by Andrei)5bb581e) (by Andrei)2644f7a) (by Andrei)86d7128) (by Andrei)You can now us the module as a command line interface (CLI). Usage: python -m newspaper --url https://www.test.com . More information in the documenta
python -m newspaper --url https://www.test.com. More information in the documentation.news_pool was replaced with a fetch_news() function.newspaper.article() function for convenience. It will create, download and parse an article in one step. It takes all the parameters of the Article class.Some major changes in document parsing. In previous versions the chance that parts of the article body were missing was high. In addition, in some cases the order of the paragraphs was not correct. This release should fix these issues.
Highlighted features:
python -m newspaper --url https://www.test.com. More information in the documentation.news_pool was replaced with a fetch_news() function.newspaper.article() function for convenience. It will create, download and parse an article in one step. It takes all the parameters of the Article class.41677b0) (by Andrei)670aad9) (by Andrei)python -m newspaper --url https://www.test.com(f46b443) (by Andrei)31b9079) (by Andrei)3be1e47) (by Andrei)d0fcdd8) (by Andrei)f51a04f) (by Andrei)1af12d2) (by Andrei)6485c40) (by Andrei)4aebf29) (by Andrei)0d41fc7) (by Andrei)f4d8f0f) (by Andrei)95d5cfa) (by Andrei)8677dbe) (by Andrei)8ca3d40) (by Andrei)e7a60dd) (by Andrei)737c226) (by Andrei)bug: :lipstick: instead of memorize_articles the option / function / parameter was memoize_articles(aaef712) (by Andrei)
bug: MEMO_DIR is now Path object. addition with str forgotten from refactoring(0b98e71) (by Andrei)
depend: removed feedfinder2 as dependency. was not used(c230aca) (by Andrei)
doc: some minor documentation changes(764742a) (by Andrei)
lang added additional stopwords for "fa". Issue #398(3453538) (by Andrei)
lang: :speech_balloon: fixed serbian stopwords. added chirilic version (Issue #389)(dfcb760) (by Andrei)
parse itemprop containing but not equal to articleBody(510be0e) (by Andrei)
parse: :art: removed some additional advertising snippets(bd30d48) (by Andrei)
parse: :chart_with_upwards_trend: removed possible image caption remains from cleaned article text (Issue #44)(7298140) (by Andrei)
parse: :globe_with_meridians: image parsing and movie parsing improvements. get links from additional attributes such as "data-src".(c02bb23) (by Andrei)
parse: :memo: exclude some tags from get_text. Tags such as script, option can add garbage to the text output(f0e1965) (by Andrei)
parse: :memo: Improved newline geeneration based on block level tags. <br>'s are better taken into account.(22327d8) (by Andrei)
parse: added youtu.be to video sources(bf516a1) (by Andrei)
parse: additional fixes for caption(3e7fdcc) (by Andrei)
refactor: deprecated non pythonic configuration attributes (all caps vs lower caps). for the moment both approaches work(691e12f) (by Andrei)
sec: bump nltk and requests min version(553ef27) (by Andrei)
sources: :bug: fixed a problem with some type of articlelinks.(9a5c0e2) (by Andrei)
parse : added possibility to follow "read more" links in articles
f7107be)592f6f6)0720de1)5ff5d27)fc413af)9df8c16)41152eb)dc35e29)45c4e8d)895343f)37bb0b7)23c547f)6874d05)5598d95)6bdf813)f93a9c2)0cc1e83)3ccb87c)9140a04)7e671df)8855f00)f7107be) (by Andrei)592f6f6) (by Andrei)0720de1) (by Andrei)5ff5d27) (by Andrei)cadea6a) (by Murat Çorlu)fc413af) (by Andrei)9df8c16) (by Andrei)41152eb) (by Andrei)dc35e29) (by Andrei)45c4e8d) (by Andrei)22e9dca) (by Andrei)8e54946) (by Andrei)e8126d5) (by Andrei)0261054, bfbac2c) (by Andrei)895343f) (by Andrei)37bb0b7) (by Andrei)23c547f) (by Andrei)6874d05) (by Andrei)5598d95) (by Andrei)6bdf813) (by Andrei)f93a9c2) (by Andrei)0cc1e83) (by Andrei)3ccb87c) (by Andrei)9140a04) (by Andrei)7e671df) (by Andrei)8855f00) (by Andrei)First release after the fork. This release is based on the 0.1.7 release of the original newspaper3k project. I jumped versions such that it is clear
First release after the fork. This release is based on the 0.1.7 release of the original newspaper3k project. I jumped versions such that it is clear that this is a fork and not the original project.
f294a01) (by Andrei)39a5cff) (by Andrei)d5f9209) (by Andrei)ec2d474) (by Andrei)<article> and <div> tag as candidate for content parent_node(447a429) (by Andrei)d7608da) (by Andrei)4d137eb) (by Andrei)79553f6) (by Andrei)
<!-- package description limit -->
################################### These are the original newspaper3k release notes ###################################
########################################################################################################################Your coding agent can read these notes before it upgrades. Set up the MCP server →