1. Content Fetcher
Paste a news URL, get clean article text — no scraping skills required
- original_text
This node is the "read" half of a two-node pack. You hand it a news URL, it hands back the article's actual text - stripped of nav bars, cookie banners, and comment threads. It doesn't generate anything itself; it's the input side of a pipeline that ends in an AI-written script. Which sounds boring until you realize it's the difference between pasting a wall of HTML into a prompt and feeding a clean article into an LLM.
The mechanism is simpler than you'd expect. Set mode to URL, drop in a link, and it runs the page through trafilatura, a Python library purpose-built for pulling the main body text out of web pages (fetch_url then extract with include_comments=False and include_tables=False). If trafilatura's main pass comes back empty, it falls back to a raw-text extraction. Set mode to Manual instead and it skips the web entirely, just echoing back whatever you typed into manual_text - handy when a site is paywalled or the article is already in your clipboard.
The inputs that matter:
mode-URLorManual. This is the only required input.url- the article link, in URL mode. The default is a BBC technology story; replace it with your own.manual_text- a multiline box for pasting content directly, whenmodeisManual.
The one output, original_text (a plain string), is what you wire into the pack's second node, 2. News Script Generator, at its original_text input. The README's own advice is worth taking: hook original_text into a Show Text or Save Text File node first to eyeball what you actually scraped before you pay an LLM to rewrite it. That preview step is not optional decoration - it's how you catch a bad scrape before it poisons the whole workflow.
One behavior to know about: when the fetch fails, this node doesn't raise an error - it returns the error message as text. Your Show Text node will happily display "Failed to fetch or process URL…", and if you're wired straight into the LLM node, that error string becomes the article. Watch for it.
Install comes from the shared pack: ComfyUI Manager (search "WebPrompter"), or:
cd ComfyUI/custom_nodes
git clone https://github.com/Gary-yeh/ComfyUI-WebPrompter
cd ComfyUI-WebPrompter
pip install -r requirements.txt
then restart ComfyUI. requirements.txt is just requests, beautifulsoup4, trafilatura, and openai - no models, no weights, nothing heavy. Its real dependencies are a working internet connection and sites that don't block bots. JavaScript-rendered pages, aggressive Cloudflare walls, and paywalls will defeat it; that's what Manual mode is for.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| mode | COMBO | 2 options: URL, Manual | |
| urlopt | STRING | https://www.bbc.com/news/technology-68523302 | — |
| manual_textopt | STRING | A cat sitting on a mat. | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| original_text | STRING | — |