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.
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 JSONLoading...
After Chromium
Open result JSONLoading...
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