@shobcoder/web-scraper
AScrape, crawl, and extract data from websites. Use when users ask to scrape web pages, extract content, crawl websites, or collect data from the internet.
Install
agr install @shobcoder/web-scraper --target claudeWrites 1 file into .claude/skills/, pinned to git-a28bb33f.
- .claude/skills/web-scraper/SKILL.md
Document
name: web-scraper description: Scrape, crawl, and extract data from websites. Use when users ask to scrape web pages, extract content, crawl websites, or collect data from the internet.
Web Scraper
Overview
Extract content and data from websites using various techniques including crawling, scraping, and structured data extraction.
When to Use
- Extract text content from web pages
- Crawl entire websites
- Collect structured data
- Research and gather information
- Monitor website changes
- Extract tables and lists
Tools Available
Content Extraction
// Use extract_content_from_websites for structured extraction
// Supports batch processing of multiple URLs
// Returns JSON format with extracted content
Task Format
{
tasks: [
{
url: "https://example.com",
prompt: "Extract specific information",
task_name: "optional_name"
}
]
}
Usage Patterns
Simple Content Extraction
// Extract main content from a page
const result = await extract_content_from_websites({
tasks: [{
url: "https://news.example.com/article",
prompt: "Extract the title, author, date, and main content"
}]
});
Batch URL Processing
// Process multiple URLs in parallel
const urls = [
"https://site.com/page1",
"https://site.com/page2",
"https://site.com/page3"
];
const results = await extract_content_from_websites({
tasks: urls.map((url, i) => ({
url,
prompt: "Extract all product information, prices, and descriptions",
task_name: `product_${i}`
}))
});
Data Mining
// Extract structured data like prices, reviews, specifications
const data = await extract_content_from_websites({
tasks: [{
url: "https://ecommerce.example.com/products",
prompt: "Extract product name, price, rating, and availability for all products listed"
}]
});
Extraction Modes
Auto Mode (Default)
- Attempts HTTP GET first
- Falls back to browser rendering for CSR pages
- Best for most websites
Curl Only Mode
- Fast direct HTTP requests
- Best for static HTML pages
- May fail on JavaScript-heavy sites
Browser Only Mode
- Full browser rendering
- Handles dynamic content
- Slower but more comprehensive
Best Practices
- Start with simpler extraction before complex patterns
- Use specific prompts for targeted data
- Respect website terms of service
- Add delays between requests when scraping multiple pages
- Handle errors gracefully with try/catch
Data Handling
- Returns JSON format for easy processing
- Handles batch operations efficiently
- Supports pagination when needed
- Maintains data structure in results
Trustgrade A
- passBody integrity
Whether the stored document is plausibly the kind of file the artifact declares, rather than something fetched by mistake.
- passType matchnot applicable to this artifact type
Whether the artifact is really the kind of thing its metadata claims it is.
- passFreshness
How long since the source repository was last pushed to.
- passPrompt injection
Scans the artifact's own text for instructions aimed at your agent rather than at you.
- passLicense
Whether the source repository declares an SPDX license permissive enough to redistribute.
How the grade is calculated
Each check contributes 0 points when it passes, 1 when it warns, and 2 when it fails. The total maps to a letter:
- Aevery check passed
- Bone warning
- Ctwo warnings
- Dprompt injection or body integrity failed, or three warnings
- Fone of those failed, and something else is wrong
These are automated hygiene checks, not a security audit, and not a dependency or vulnerability scan. A grade of A means nothing was flagged — not that the artifact is safe.
Versions
git-a28bb33f53a92026-07-31