The library is not installed in the running Python. The PyPI name is `newspaper3k` but the import is `newspaper`. Run `python -m pip install newspaper3k` and `from newspaper import Article` works.

## The error

```text
ModuleNotFoundError: No module named 'newspaper'
```

## Fix it

1. **Install newspaper3k**

```
python -m pip install newspaper3k
```
Expected: `Successfully installed newspaper3k-...` with its dependencies.

2. **Confirm**

```
python -c "from newspaper import Article; print('ok')"
```
Expected: prints `ok`.

## When this applies

- any `from newspaper import ...` fails naming `newspaper`
- a fresh env for an article-extraction script

## When it does NOT apply

- `ImportError: No module named 'newspaper3k'` means you wrote `import newspaper3k`, which is wrong
- `cannot import name 'Article' from 'newspaper'` with newspaper installed is the shadowing problem

## Compatibility

newspaper3k 0.9.x. Python 3.8+. Note the project is lightly maintained; lxml/nltk dependency friction on new Pythons is common.

## Why it happens

The distribution name (`newspaper3k`) and the import name (`newspaper`) differ, a legacy of the Python-2 `newspaper` package. People who `pip install newspaper` get the dead Python-2 package or nothing, and people who never install get this ModuleNotFoundError.

## Edge cases

- Do NOT `pip install newspaper`. That is the abandoned Python 2 package. The maintained one is `newspaper3k`.
- newspaper3k pulls nltk data on first use. If Article building fails later on missing tokenizers, that is a data download step, not this error.
