Welcome to the Spider documentation! This directory contains comprehensive guides for using and extending Spider.
- Main README - Project overview and quick start
- Contributing Guide - How to contribute to the project
- Web Scraper Plugin - Complete plugin documentation
- Quick Start Guide - Get started in 3 steps
- Quick Reference - Command cheat sheet
- Plugin System - Creating custom plugins
- Examples Directory - Code examples and use cases
...get started with Spider → Read the Main README
...use the web scraper plugin → Start with Quick Start Guide
...query scraped data → See Quick Reference
...create a custom plugin → Read Plugin System
...contribute to the project → Follow Contributing Guide
...see code examples → Browse Examples
docs/
├── README.md # This file
└── web-scraper/
├── WEB_SCRAPER_PLUGIN.md # Complete plugin docs
├── quickstart.md # Quick start guide
└── reference.md # Quick reference
The web scraper plugin is Spider's most comprehensive data extraction tool:
- Metadata Extraction: Title, description, keywords, author, language
- Content Analysis: Word count, headings, text structure
- Link Extraction: Internal/external links with classification
- Image Extraction: URLs, alt text, dimensions
- Form Detection: Actions, methods, input fields
- Social Metadata: OpenGraph, Twitter Card data
- Structured Data: JSON-LD extraction
- Page Structure: Semantic HTML analysis
Learn how to extend Spider with custom plugins:
- Plugin architecture overview
- Creating custom plugins
- Plugin lifecycle and hooks
- Best practices
- Example plugins
poetry run python run.pypoetry run python query_data.pyfrom spider.plugin import Plugin
class MyPlugin(Plugin):
async def should_run(self, url: str, content: str) -> bool:
return True
async def process(self, url: str, content: str) -> str:
# Your logic here
return content- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Examples: examples/
Found an error in the docs? Want to add more examples?
- Fork the repository
- Make your changes
- Submit a pull request
See CONTRIBUTING.md for detailed guidelines.