Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
shirenchuang avatar

Web Content Fetcher

  • 2.9k installs
  • 605 repo stars
  • Updated March 28, 2026
  • shirenchuang/web-content-fetcher

web-content-fetcher is an agent skill that extracts main article content from URLs as clean Markdown using a Scrapling fetch.py script with domain-aware fast or stealth modes and Jina Reader fallback.

About

web-content-fetcher is a shirenchuang skill that returns the main content of any URL as clean Markdown, preserving headings, links, images, lists, and code blocks. It uses a Scrapling script as the primary extractor with automatic fast-to-stealth fallback, and Jina Reader as an alternative for simpler pages. Trigger it when you need to fetch, read, scrape, extract, or summarize content from blog posts, news articles, WeChat public articles, or documentation without hand-copying HTML. The skill is optimized for article body extraction rather than full-site crawling or structured API ingestion, making it a practical bridge between arbitrary web pages and downstream agent summarization or knowledge-base updates.

  • Extracts article content from any URL as clean Markdown preserving headings, links, images, lists and code blocks
  • Primary method uses Scrapling script with automatic fast-to-stealth fallback based on domain routing table
  • Falls back to Jina Reader API for simple pages when Scrapling is unavailable
  • Handles international content including WeChat public articles and Chinese documentation pages
  • Triggered by natural language requests such as "read this page for me", "extract main content" or Chinese equivalents

Web Content Fetcher by the numbers

  • 2,924 all-time installs (skills.sh)
  • +41 installs in the week ending Aug 5, 2026 (Skillselion tracking)
  • Ranked #269 of 16,546 AI & Agent Building skills by installs in the Skillselion catalog
  • Security screen: MEDIUM risk (skills.sh audit)
  • Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/shirenchuang/web-content-fetcher --skill web-content-fetcher

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs2.9k
repo stars605
Security audit2 / 3 scanners passed
Last updatedMarch 28, 2026
Repositoryshirenchuang/web-content-fetcher

How do you extract readable article body content from a web URL as Markdown for agent summarization or knowledge updates?

Pull clean article content from any web URL directly into their agent workflow as Markdown.

Who is it for?

Agent workflows that need single-page article extraction from blogs, news, documentation, or WeChat articles without manual HTML copying.

Skip if: Skip for full-site crawling, structured API ingestion, or pages where one failed extraction attempt already occurred (no retries per skill rules).

When should I use this skill?

User wants to fetch, read, scrape, extract, or summarize content from a URL including phrases like read this page or extract main content.

What you get

Clean Markdown preserving headings, links, images, lists, and code blocks, with optional JSON metadata via --json output mode.

  • clean Markdown article body

By the numbers

  • Domain routing table covers at least nine domains including WeChat, Zhihu, and CSDN
  • Default max output 30000 characters with optional limit parameter

Files

SKILL.mdMarkdownGitHub ↗

Web Content Fetcher

Given a URL, return its main content as clean Markdown — headings, links, images, lists, code blocks all preserved.

Extraction Strategy

Always try one method per URL — don't cascade blindly. Pick the right one upfront.

URL
 │
 ├─ 1. Scrapling script (preferred)
 │     Run fetch.py — check the domain routing table to decide fast vs --stealth.
 │     Works for most sites. Returns clean Markdown directly.
 │
 └─ 2. Jina Reader (fallback — only if Scrapling fails or dependencies not installed)
       web_fetch("https://r.jina.ai/<url>")
       Free tier: 200 req/day. Fast (~1-2s), good Markdown output.
       Does NOT work for: WeChat (403), some Chinese platforms.

Scrapling script

python3 <SKILL_DIR>/scripts/fetch.py "<url>" [max_chars] [--stealth]

<SKILL_DIR> is the directory where this SKILL.md lives. Resolve it before calling the script.

The script has two modes built in:

  • Default (fast): HTTP fetch, ~1-3s, works for most sites
  • `--stealth`: Headless browser, ~5-15s, for JS-rendered or anti-scraping sites

When run without --stealth, the script automatically falls back to stealth if the fast result has too little content. So you rarely need to specify --stealth manually — the only reason to force it is when you already know the site needs it (see routing table), which saves the initial fast attempt.

Domain Routing

Use this table to pick the right mode on the first call:

DomainCommandWhy
mp.weixin.qq.comfetch.py <url> --stealthJS-rendered content
zhuanlan.zhihu.comfetch.py <url> --stealthAnti-scraping + JS
juejin.cnfetch.py <url> --stealthJS-rendered SPA
sspai.comfetch.py <url>Static HTML
blog.csdn.netfetch.py <url>Static HTML
ruanyifeng.comfetch.py <url>Static blog
openai.comfetch.py <url>Static HTML
blog.googlefetch.py <url>Static HTML
Everything elsefetch.py <url>Auto-fallback handles it

Script Options

# Basic — auto-selects fast or stealth
python3 <SKILL_DIR>/scripts/fetch.py "https://sspai.com/post/73145"

# Force stealth for known JS-heavy sites
python3 <SKILL_DIR>/scripts/fetch.py "https://mp.weixin.qq.com/s/xxx" --stealth

# Limit output to 15000 characters (default: 30000)
python3 <SKILL_DIR>/scripts/fetch.py "https://example.com/article" 15000

# JSON output with metadata (url, mode, selector, content_length)
python3 <SKILL_DIR>/scripts/fetch.py "https://example.com" --json

Install Dependencies

First use only — the script checks and tells you if anything is missing:

pip install scrapling html2text

If on system-managed Python (macOS/Linux), add --break-system-packages or use a venv.

Failure Rules

  • Same URL fails once → give up, tell the user "unable to extract content from this URL"
  • Do not retry — each failed call wastes context tokens

Related skills

How it compares

Use web-content-fetcher for single-article Markdown extraction; use crawl-focused tools when you need multi-page site indexing.

FAQ

What extraction methods does web-content-fetcher use?

Primary Scrapling fetch.py with fast HTTP or --stealth headless browser modes per domain routing table, with Jina Reader as fallback for simple pages.

When should I force --stealth mode?

For mp.weixin.qq.com, zhuanlan.zhihu.com, and juejin.cn where JS rendering or anti-scraping requires headless browser extraction on first call.

What happens if extraction fails?

After one failed attempt for the same URL, stop and tell the user extraction was unsuccessful without retrying to avoid wasting context tokens.

Is Web Content Fetcher safe to install?

skills.sh reports 2 of 3 security scanners passed. Review the Security Audits panel on this page before installing in production.

AI & Agent Buildingagentsautomation

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.