dawiddutoit avatar

Playwright Web Scraper

This is a well-structured scraping toolkit built around Playwright's browser tools. It comes with Python utilities for validating URLs against robots.txt before you start, rate limiting helpers that enforce 1-3 second delays between requests, and processing scripts that convert your scraped JSON into CSV or Markdown. The documentation is thorough on the ethical side, covering exponential backoff for 429 responses and handling pagination patterns. You get extraction templates for common selectors and a clear workflow from URL validation through to export. If you're scraping multiple pages and want the guardrails built in rather than having to remember them yourself, this covers the boilerplate well.

skills.sh installs
393
GitHub stars
2
last updated
Aug 21, 2026

Install

$ npx -y skills add dawiddutoit/custom-claude --skill playwright-web-scraper --agent claude-code

Installs into .claude/skills of the current project.

Files

Playwright Web Scraper

Extract structured data from multiple web pages with respectful, ethical crawling practices.

When to Use This Skill

Use when extracting structured data from websites with "scrape data from", "extract information from pages", "collect data from site", or "crawl multiple pages".

Do NOT use for testing workflows (use playwright-e2e-testing), monitoring errors (use playwright-console-monitor), or analyzing network (use playwright-network-analyzer). Always respect robots.txt and rate limits.

Quick Start

Scrape product listings from an e-commerce site:

// 1. Validate URLs
python scripts/validate_urls.py urls.txt

// 2. Scrape pages with rate limiting
const results = [];
for (const url of urls) {
  await browser_navigate({ url });
  await browser_wait_for({ time: Math.random() * 2 + 1 }); // 1-3s delay

  const data = await browser_evaluate({
    function: `
      Array.from(document.querySelectorAll('.product')).map(el => ({
        title: el.querySelector('.title')?.textContent?.trim(),
        price: el.querySelector('.price')?.textContent?.trim(),
        url: el.querySelector('a')?.getAttribute('href')
      }))
    `
  });

Sponsors

Details

Repository
github.com/dawiddutoit/custom-claude
Categories
Testing & QA, DevOps & CI/CD, Debugging, Automation & Workflows, Marketing & SEO
First seen
Jun 3, 2026
1iserter avatarlaravel-tddiserter/laravel-claude-agentsTest-Driven Development specifically for Laravel applications using Pest PHP. Use when implementing any Laravel feature or bugfix - write the test first, watch 380skills.sh installs
2leonardomso avatartest-writerleonardomso/33-js-conceptsGenerate comprehensive Vitest tests for code examples in JavaScript concept documentation pages, following project conventions and referencing source lines356skills.sh installs
3proffesor-for-testing avatarregression-testingproffesor-for-testing/agentic-qeStrategic regression testing with test selection, impact analysis, and continuous regression management. Use when verifying fixes don't break existing functiona334skills.sh installs
4patricio0312rev avatarload-test-builderpatricio0312rev/skillsCreates load and performance tests with k6, Artillery, or autocannon to validate system behavior under stress. Use when users request "load testing", "performan328skills.sh installs
5tuist avataranalyze-selective-testingtuist/agent-skillsAnalyzes Xcode selective testing effectiveness for a test run, showing which test targets were skipped or ran, and diagnosing regressions in test selection. Can304skills.sh installs
6mastepanoski avatarowasp-ai-testingmastepanoski/claude-skillsAI trustworthiness testing using OWASP AI Testing Guide v1. Execute 32 test cases across 4 layers (Application, Model, Infrastructure, Data) with practical payl245skills.sh installs