Web Scraping

Extract structured information from websites using web_fetch for simple pages and browser automation for dynamic sites, login-gated flows, pagination, infini...

zhangqixin9527

@zhangqixin9527

What This Skill Does

Extracts structured data from websites using web_fetch for static HTML pages and browser automation for dynamic, login-gated, or paginated sites. Outputs results as bullet summaries, JSON arrays, or CSV/TSV files.

Replaces manual copy-paste and ad-hoc browser scripts by providing a consistent two-tier approach: lightweight fetch for simple pages and full browser automation for complex interactions.

When to Use It

  • Scrape product listings with prices and descriptions from an e-commerce site
  • Collect job postings including title, company, and location from a job board
  • Monitor a news site for new articles matching specific keywords
  • Extract contact information from a directory with pagination
  • Gather data from a login-gated dashboard or report page
  • Turn a multi-page search result into a structured JSON or CSV file

Install

$ openclaw skills install @zhangqixin9527/web-scraping

Web Scraping

Extract data with the lightest reliable method first.

Choose the approach

  1. Use web_fetch for simple public pages when the needed content is already in HTML.
  2. Use browser when the site is dynamic, needs clicking, infinite scroll, filters, tabs, or login/session state.
  3. Use web_search only to discover candidate pages when the target URL is unknown.

Default workflow

  1. Identify the target site and exact fields to collect.
  2. Test one page first.
  3. Decide the extraction method:
    • web_fetch for readable article/listing text
    • browser snapshot for dynamic DOM inspection
  4. Normalize the output into a stable schema.
  5. If scraping multiple pages, avoid tight loops and serialize requests.
  6. Deduplicate by URL or stable item id.
  7. Save results in the workspace when the task is larger than a quick one-off.

Browser scraping pattern

  1. Open the page.
  2. Take a snapshot.
  3. Interact only as needed: search, click filters, pagination, expand sections.
  4. Re-snapshot after each meaningful state change.
  5. Extract only the fields the user asked for.
  6. Close tabs when finished.

Output guidance

Prefer one of these formats:

  • concise bullet summary
  • JSON array of objects
  • CSV/TSV when the user wants exportable rows

Use explicit keys, for example:

[
  {
    "title": "...",
    "url": "...",
    "source": "...",
    "date": "...",
    "summary": "..."
  }
]

Reliability rules

  • Do not invent missing fields.
  • If a site blocks access, say so and switch sources when appropriate.
  • For news/results pages, capture source + title + link at minimum.
  • For large jobs, checkpoint partial results to a workspace file.
  • Prefer fewer larger writes over many tiny writes.

Cleanup

  • Close browser tabs opened for scraping.
  • If you create state/output files, store them under the workspace and name them clearly.

Top skills in this category

Agent Browser

@matrixy

Headless browser automation CLI optimized for AI agents with accessibility tree snapshots and ref-based element selection

453152k

Browser Use

@shawnpana

Automates browser interactions for web testing, form filling, screenshots, and data extraction. Use when the user needs to navigate websites, interact with w...

11475k

Playwright MCP

@spiceman161

Browser automation via Playwright MCP server. Navigate websites, click elements, fill forms, extract data, take screenshots, and perform full browser automation workflows.

15845k

Playwright (Automation + MCP + Scraper)

@ivangdavila

Automates, tests, and debugs browsers with Playwright: locators, auto-waiting, traces, CI runs, and MCP browser control. Use when a test is flaky, times out, or fails only in CI or headless; when a locator matches multiple elements or the wrong one (strict mode violation); when clicks need force, waits become sleeps, or networkidle never settles; for storageState and login setup, request mocking and HAR replay, uploads and downloads, iframes and shadow DOM, popups and dialogs, screenshot diffs that change per machine, trace and report artifacts, sharding a slow suite, device and permission emulation, accessibility checks, driving a real browser through Playwright MCP, extracting data from JS-rendered pages, or porting a Cypress, Puppeteer, or Selenium suite to Playwright. Not for maintaining an existing Cypress or Puppeteer suite (cypress, puppeteer) or for work a plain HTTP request answers (http).

12839k

Browser Automation

@peytoncasper

Automate web browser interactions using natural language via CLI commands. Use when the user asks to browse websites, navigate web pages, extract data from websites, take screenshots, fill forms, click buttons, or interact with web applications.

6448k