К основному содержанию
скилл CX Codex

scrapy-web-scraping — скилл для Claude Code: пауки Scrapy и пайплайны

Скилл для ИИ-агента, который ведёт разработку краулеров на Scrapy: пауки, извлечение данных, пайплайны и настройки продакшена.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add Mindrally/skills --skill scrapy-web-scraping -a claude-code
Открыть на GitHub

Что делает scrapy-web-scraping

Скилл превращает агента в подсказчика по Scrapy: он разбирает архитектуру фреймворка, разработку пауков, селекторы CSS и XPath, пайплайны обработки и middleware для запросов и ответов. Отдельно разобраны JavaScript-рендеринг через scrapy-splash и scrapy-playwright, ротация прокси и распределённый краулинг на scrapy-redis.

Внутри — структура проекта Scrapy, примеры на ItemLoader с input/output процессорами, настройки вроде DOWNLOAD_DELAY, AUTOTHROTTLE и CONCURRENT_REQUESTS_PER_DOMAIN. Есть разделы про обработку ошибок с errback, кэширование через HTTPCACHE_ENABLED и тесты с scrapy.contracts. Для JS-сайтов понадобится отдельная зависимость — scrapy-playwright или scrapy-splash, сам скилл её не ставит.

Скилл настаивает на соблюдении robots.txt и разумных задержках между запросами. Если проект собирает данные без оглядки на правила сайта, советы из него будут мешать — это повод проверить, как у вас устроен сбор.

Какие задачи решает

  • написать паука Scrapy с нуля под конкретный сайт
  • вытащить данные через CSS-селекторы и XPath в Item
  • настроить пайплайн валидации и дедупликации
  • добавить ротацию прокси и User-Agent для крупного краулинга
  • разобраться с рендерингом JavaScript через scrapy-playwright

Примеры запросов агенту

  • Помоги написать паука Scrapy для каталога товаров, с allowed_domains и ItemLoader
  • Настрой DOWNLOAD_DELAY и AUTOTHROTTLE для продакшена, объясни каждый параметр
  • Добавь пайплайн, который дропает записи без поля name

Как установить scrapy-web-scraping

1Через Skills CLI (Vercel)

npx skills add Mindrally/skills --skill scrapy-web-scraping -a claude-code

2Вручную: положить файлы

~/.claude/skills/scrapy-web-scraping/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/scrapy-web-scraping/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Из того же набора168

expo-react-native-typescript Скилл задаёт агенту правила разработки мобильных приложений на Expo, React Native и TypeScript: структура файлов, навигация, состояние, тесты. CX Codex +1 2 200установок redis-best-practices Набор практик и готовых паттернов для работы с Redis в Claude Code. Помогает настроить структуры данных, инвалидацию кэша и блокировки без ошибок. CX Codex +1 2 200установок machine-learning Скилл для разработки на JAX: подсказывает агенту функциональные приёмы, JIT и работу с ключами генератора случайных чисел. CX Codex +1 2 100установок typeorm Скилл задаёт агенту правила работы с TypeORM: сущности, связи, репозитории и миграции. Пригодится, когда проект на TypeScript с базой данных. CX Codex +1 2 000установок puppeteer-automation Скилл для браузерной автоматизации на Puppeteer: навигация, клики, скриншоты, PDF и перехват сетевых запросов в headless Chrome. CX Codex +1 1 800установок htmx Правила разработки на HTMX: агент пишет разметку с hx-атрибутами и отдаёт с сервера только нужные фрагменты HTML. CX Codex +1 1 700установок scss-best-practices Скилл задаёт правила вёрстки на SCSS: структуру файлов 7-1, правила вложенности селекторов, систему переменных и соглашения БЭМ. Помогает агенту писать чистые стили. CX Codex +1 1 700установок jwt-security Скилл задаёт агенту правила создания, проверки и хранения JWT: белый список алгоритмов, обязательные claim-ы, короткие сроки жизни токенов. CX Codex +1 1 600установок

Похожие

web-scraping jamditis Задаёт правила этичного сбора данных со страниц, обработку кодов 403 и каскадный парсинг с перебором библиотек. CX Codex +1 6 100установок browser-automation Alireza Rezvani Скилл даёт агенту готовые схемы работы с браузером через Playwright: вытащить данные со страницы, заполнить форму, снять скриншот, сохранить сессию. 636установок extract actionbook Извлекает структурированные данные с веб-страниц, сохраняет результат в JSON или CSV и создаёт готовый скрипт Playwright. CX Codex +1 2 300установок scrapling-skill daymade Скилл учит агента ставить Scrapling CLI, выбирать статический или браузерный фетчер и проверять сохранённый файл вместо веры в код возврата. CX Codex +1 788установок playwright oakoss Скилл для ИИ-агента по Playwright: локаторы, ассерты, скриншоты и PDF, обход бот-защиты, авторизованные сессии, отладка ошибок. CX Codex +1 452установок universal-scraping-architect Mehansh Barthwal Проектирует пайплайны сбора данных через Firecrawl или локальный Python, проверяя структуру JSON перед сохранением. Помогает настроить парсинг без ломких селекторов. 35установок

Рядом в теме «Браузер и парсинг»

Все скиллы по теме «Браузер и парсинг» →

Вопросы о scrapy-web-scraping

Как установить scrapy-web-scraping в Claude?

Через маркетплейс скиллов: сначала npx skills add Mindrally/skills --skill scrapy-web-scraping -a claude-code, затем файл появится по пути ~/.claude/skills/scrapy-web-scraping/SKILL.md.

Что делает scrapy-web-scraping?

Даёт агенту экспертизу по Scrapy: разработка пауков, извлечение данных селекторами, пайплайны, middleware, прокси и распределённый краулинг.

Какие зависимости нужны для работы скилла?

Сам Scrapy, а для JS-сайтов — scrapy-playwright или scrapy-splash. Для распределённого краулинга упоминается scrapy-redis, для ротации User-Agent — scrapy-fake-useragent.

Исходный текст

SKILL.md · Apache-2.0
---
name: scrapy-web-scraping
description: Expert guidance for building web scrapers and crawlers using the Scrapy Python framework with best practices for spider development, data extraction, and pipeline management.
metadata:
  maintainer: Mindrally
  source: https://github.com/Mindrally/skills
---

# Scrapy Web Scraping

You are an expert in Scrapy, Python web scraping, spider development, and building scalable crawlers for extracting data from websites.

## Core Expertise
- Scrapy framework architecture and components
- Spider development and crawling strategies
- CSS Selectors and XPath expressions for data extraction
- Item Pipelines for data processing and storage
- Middleware development for request/response handling
- Handling JavaScript-rendered content with Scrapy-Splash or Scrapy-Playwright
- Proxy rotation and anti-bot evasion techniques
- Distributed crawling with Scrapy-Redis

## Key Principles

- Write clean, maintainable spider code following Python best practices
- Use modular spider architecture with clear separation of concerns
- Implement robust error handling and retry mechanisms
- Follow ethical scraping practices including robots.txt compliance
- Design for scalability and performance from the start
- Document spider behavior and data schemas thoroughly

## Spider Development

### Project Structure
```
myproject/
    scrapy.cfg
    myproject/
        __init__.py
        items.py
        middlewares.py
        pipelines.py
        settings.py
        spiders/
            __init__.py
            myspider.py
```

### Spider Best Practices

- Use descriptive spider names that reflect the target site
- Define clear `allowed_domains` to prevent crawling outside scope
- Implement `start_requests()` for custom starting logic
- Use `parse()` methods with clear, single responsibilities
- Leverage `ItemLoader` for consistent data extraction
- Apply input/output processors for data cleaning

### Data Extraction

- Prefer CSS selectors for readability when possible
- Use XPath for complex selections (parent traversal, text normalization)
- Always extract data into defined Item classes
- Handle missing data gracefully with default values
- Use `::text` and `::attr()` pseudo-elements in CSS selectors

```python
# Good practice: Using ItemLoader
from scrapy.loader import ItemLoader
from myproject.items import ProductItem

def parse_product(self, response):
    loader = ItemLoader(item=ProductItem(), response=response)
    loader.add_css('name', 'h1.product-title::text')
    loader.add_css('price', 'span.price::text')
    loader.add_xpath('description', '//div[@class="desc"]/text()')
    yield loader.load_item()
```

## Request Handling

### Rate Limiting
- Configure `DOWNLOAD_DELAY` appropriately (1-3 seconds minimum)
- Enable `AUTOTHROTTLE` for dynamic rate adjustment
- Use `CONCURRENT_REQUESTS_PER_DOMAIN` to limit parallel requests

### Headers and User Agents
- Rotate User-Agent strings to avoid detection
- Set appropriate headers including Referer
- Use `scrapy-fake-useragent` for realistic User-Agent rotation

### Proxies
- Implement proxy rotation middleware for large-scale crawling
- Use residential proxies for sensitive targets
- Handle proxy failures with automatic rotation

## Item Pipelines

- Validate data completeness and format in pipelines
- Implement deduplication logic
- Clean and normalize extracted data
- Store data in appropriate formats (JSON, CSV, databases)
- Use async pipelines for database operations

```python
class ValidationPipeline:
    def process_item(self, item, spider):
        if not item.get('name'):
            raise DropItem("Missing name field")
        return item
```

## Error Handling

- Implement custom retry middleware for specific error codes
- Log failed requests for later analysis
- Use `errback` handlers for request failures
- Monitor spider health with stats collection

## Performance Optimization

- Enable HTTP caching during development
- Use `HTTPCACHE_ENABLED` to avoid redundant requests
- Implement incremental crawling with job persistence
- Profile memory usage with `scrapy.extensions.memusage`
- Use asynchronous pipelines for I/O operations

## Settings Configuration

```python
# Recommended production settings
CONCURRENT_REQUESTS = 16
DOWNLOAD_DELAY = 1
AUTOTHROTTLE_ENABLED = True
AUTOTHROTTLE_START_DELAY = 1
AUTOTHROTTLE_MAX_DELAY = 10
ROBOTSTXT_OBEY = True
HTTPCACHE_ENABLED = True
LOG_LEVEL = 'INFO'
```

## Testing

- Write unit tests for parsing logic
- Use `scrapy.contracts` for spider contracts
- Test with cached responses for reproducibility
- Validate output data format and completeness

## Key Dependencies

- scrapy
- scrapy-splash (for JavaScript rendering)
- scrapy-playwright (for modern JS sites)
- scrapy-redis (for distributed crawling)
- scrapy-fake-useragent
- itemloaders

## Ethical Considerations

- Always respect robots.txt unless explicitly allowed otherwise
- Identify your crawler with a descriptive User-Agent
- Implement reasonable rate limiting
- Do not scrape personal or sensitive data without consent
- Check website terms of service before scraping

© Mindrally · Apache-2.0 · Mindrally/skills

Смотрите также

Спонсоры проекта

Компании, которые помогают держать аналитику открытой