A complete first run / Version 0.4.2

See what reaches your pipeline.

Compare the source with the text pulldown actually extracted. Start with a stable article, choose a detail level, then try a page whose content only appears after JavaScript runs.

Install and fetch the example

Use Python 3.10 or newer in a fresh virtual environment. Core extraction works without Chromium.

python -m pip install "pulldown==0.4.2"
pulldown get https://pulldown.making-minds.ai/examples/field-notes.html --detail structured --json-output --meta

Look for Release field notes, its section headings, and the service table summary. The JSON metadata explains which extraction strategy ran.

One page, five outputs

Open the original article and table. Its service names and statuses are fictional fixture data. The outputs below were captured from the installed wheel, with the same source files served locally for a repeatable check.

Open result JSON

Loading the captured result...

When the initial HTML is not enough

Open the JavaScript release board. Its three cards are inserted after the initial response. First fetch it over HTTP, then repeat with Chromium.

python -m pip install "pulldown[render]==0.4.2"
python -m playwright install chromium
pulldown get https://pulldown.making-minds.ai/examples/live-board.html --detail readable
pulldown get https://pulldown.making-minds.ai/examples/live-board.html --detail readable --render --wait 100

The HTTP result lacks the cards. The rendered result contains RENDERED-BOARD-READY and the Documentation, Search, and Export cards. Rendering bypasses the page cache so an earlier HTTP result cannot hide the new content.

HTTP response

Open result JSON
Loading...

After Chromium

Open result JSON
Loading...

Choose what the next step needs

Reading and retrieval

Start with readable. Compare headings, source links, and important facts before adding the text to an index.

Listings and tables

Try structured for hierarchy and table summaries. Use full or raw when every row or original element matters.

Diagnosing missing content

Inspect raw first. Use rendering when the initial response is only a shell, and allow for the cost of starting a browser.

What this example establishes

All five modes work from the installed package, and Chromium retrieves content missing from the initial HTML. This is a repeatable fixture check. It does not establish extraction quality on every site, access to login-only content, or a token-saving percentage.

Private addresses are blocked by default. The local verification server requires an explicit override; these public example URLs do not. Browser rendering checks HTTP requests and blocks redirects, workers, and WebSockets. Use the final canonical URL when rendering. Ordinary HTTP fetching supports guarded redirects. These checks do not replace network isolation when processing untrusted sites.

Read the capture manifest | Inspect the installed-package check