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

Scrape Webpage

  • 30 installs
  • 45 repo stars
  • Updated August 4, 2026
  • adobe/helix-website

scrape-webpage is a Claude Code skill that scrapes a webpage's content, metadata, and images with headless Chromium to prepare it for migration into AEM Edge Delivery Services.

About

scrape-webpage extracts content, metadata, and images from a source webpage to prepare it for migration into AEM Edge Delivery Services. It loads the page in headless Chromium, scrolls to trigger lazy images, downloads and rewrites images to local paths, and saves cleaned HTML plus a metadata.json with document paths. A developer runs it as the first step of Adobe's page-import workflow.

  • Scrapes a source webpage with headless Chromium (Playwright), extracting cleaned HTML, metadata, and images
  • Downloads and rewrites all images to local paths, converting WebP/AVIF/SVG to PNG via Sharp
  • Emits metadata.json with document paths, Open Graph/JSON-LD metadata, and an image mapping for AEM import

Scrape Webpage by the numbers

  • 30 all-time installs (skills.sh)
  • Ranked #1,465 of 2,245 Frontend Development skills by installs in the Skillselion catalog
  • Data as of Aug 5, 2026 (Skillselion catalog sync)
At a glance

scrape-webpage capabilities & compatibility

Capabilities
web scraping · image processing · metadata extraction · content migration
Works with
playwright · chrome
Use cases
web scraping · web design
From the docs

What scrape-webpage says it does

Extract content, metadata, and images from a webpage for import/migration.
SKILL.md
Loads page in headless Chromium
SKILL.md
Downloads all images locally (converts WebP/AVIF/SVG to PNG)
SKILL.md
npx skills add https://github.com/adobe/helix-website --skill scrape-webpage

Add your badge

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

Listed on Skillselion
Installs30
repo stars45
Last updatedAugust 4, 2026
Repositoryadobe/helix-website

What it does

Scrape a source page's content, metadata, and images to prepare it for import into AEM Edge Delivery Services.

Who is it for?

Migrating an existing web page into AEM Edge Delivery by capturing its HTML, images, and metadata

Skip if: General-purpose scraping unrelated to AEM import, or previewing the result (use preview-import)

When should I use this skill?

Starting a page import and you need to extract content and images from a source URL

What you get

metadata.json, a screenshot, cleaned HTML, and a local images folder ready for AEM import

  • metadata.json with paths, metadata, and image mapping
  • screenshot.png
  • cleaned.html with local image references

By the numbers

  • 11-step scraping workflow in the analysis script
  • 8-step web-page-analysis process in resources

Files

SKILL.mdMarkdownGitHub ↗

Scrape Webpage

Extract content, metadata, and images from a webpage for import/migration.

When to Use This Skill

Use this skill when:

  • Starting a page import and need to extract content from source URL
  • Need webpage analysis with local image downloads
  • Want metadata extraction (Open Graph, JSON-LD, etc.)

Invoked by: page-import skill (Step 1)

Prerequisites

Before using this skill, ensure:

  • ✅ Node.js is available
  • ✅ npm playwright is installed (npm install playwright)
  • ✅ Chromium browser is installed (npx playwright install chromium)
  • ✅ Sharp image library is installed (cd .claude/skills/scrape-webpage/scripts && npm install)

Related Skills

  • page-import - Orchestrator that invokes this skill
  • identify-page-structure - Uses this skill's output (screenshot, HTML, metadata)
  • generate-import-html - Uses image mapping and paths from this skill

Scraping Workflow

Step 1: Run Analysis Script

Command:

node .claude/skills/scrape-webpage/scripts/analyze-webpage.js "https://example.com/page" --output ./import-work

What the script does: 1. Sets up network interception to capture all images 2. Loads page in headless Chromium 3. Scrolls through entire page to trigger lazy-loaded images 4. Downloads all images locally (converts WebP/AVIF/SVG to PNG) 5. Captures full-page screenshot for visual reference 6. Extracts metadata (title, description, Open Graph, JSON-LD, canonical) 7. Fixes images in DOM (background-image→img, picture elements, srcset→src, relative→absolute, inline SVG→img) 8. Extracts cleaned HTML (removes scripts/styles) 9. Replaces image URLs in HTML with local paths (./images/...) 10. Generates document paths (sanitized, lowercase, no .html extension) 11. Saves complete analysis with image mapping to metadata.json

For detailed explanation: See resources/web-page-analysis.md

---

Step 2: Verify Output

Output files:

  • ./import-work/metadata.json - Complete analysis with paths and image mapping
  • ./import-work/screenshot.png - Visual reference for layout comparison
  • ./import-work/cleaned.html - Main content HTML with local image paths
  • ./import-work/images/ - All downloaded images (WebP/AVIF/SVG converted to PNG)

Verify files exist:

ls -lh ./import-work/metadata.json ./import-work/screenshot.png ./import-work/cleaned.html
ls -lh ./import-work/images/ | head -5

---

Step 3: Review Metadata JSON

Output JSON structure:

{
  "url": "https://example.com/page",
  "timestamp": "2025-01-12T10:30:00.000Z",
  "paths": {
    "documentPath": "/us/en/about",
    "htmlFilePath": "us/en/about.plain.html",
    "mdFilePath": "us/en/about.md",
    "dirPath": "us/en",
    "filename": "about"
  },
  "screenshot": "./import-work/screenshot.png",
  "html": {
    "filePath": "./import-work/cleaned.html",
    "size": 45230
  },
  "metadata": {
    "title": "Page Title",
    "description": "Page description",
    "og:image": "https://example.com/image.jpg",
    "canonical": "https://example.com/page"
  },
  "images": {
    "count": 15,
    "mapping": {
      "https://example.com/hero.jpg": "./images/a1b2c3d4e5f6.jpg",
      "https://example.com/logo.webp": "./images/f6e5d4c3b2a1.png"
    },
    "stats": {
      "total": 15,
      "converted": 3,
      "skipped": 12,
      "failed": 0
    }
  }
}

Key fields:

  • paths.documentPath - Used for browser preview URL
  • paths.htmlFilePath - Where to save final HTML file
  • images.mapping - Original URLs → local paths
  • metadata - Extracted page metadata

---

Output

This skill provides:

  • ✅ metadata.json with paths, metadata, image mapping
  • ✅ screenshot.png for visual reference
  • ✅ cleaned.html with local image references
  • ✅ images/ folder with all downloaded images

Next step: Pass these outputs to identify-page-structure skill

---

Troubleshooting

Browser not installed:

npx playwright install chromium

Sharp not installed:

cd .claude/skills/scrape-webpage/scripts && npm install

Image download failures:

  • Check images.stats.failed count in metadata.json
  • Some images may require authentication or be blocked by CORS
  • Failed images will be noted but won't stop the scraping process

Lazy-loaded images not captured:

  • Script scrolls through page to trigger lazy loading
  • Some advanced lazy-loading may need customization in scripts/analyze-webpage.js

Related skills

Frontend Developmentfrontendintegrations

This week in AI coding

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

unsubscribe anytime.