Как создать ИИ-скрейпер с Crawl4AI и DeepSeek

Как создать ИИ-скрейпер с Crawl4AI и DeepSeek

В этом руководстве я покажу, как создать скрейпер на базе ИИ с помощью Crawl4AI и DeepSeek. Crawl4AI — это гибкий инструмент для веб-скрапинга с открытым исходным кодом, который работает с моделями ИИ. DeepSeek — мощная модель ИИ, которая извлекает структурированные данные из неструктурированных веб-страниц. Объединив эти два инструмента, вы получите скрапер, который сможет интеллектуально обходить сайты и извлекать чистые, структурированные данные — без особых усилий!

Что такое Crawl4AI?

Crawl4AI — это веб-скрейпер с открытым исходным кодом, готовый к работе с ИИ и ориентированный на большие языковые модели (LLMs). В отличие от традиционных скрейперов, он не опирается на фиксированные правила парсинга HTML. Вместо этого он может извлекать структурированные данные с помощью ИИ-моделей, таких как DeepSeek.

Возможности Crawl4AI:

  • Предназначено для LLM: Он формирует структурированные данные, оптимизированные для обучения ИИ и задач RAG.
  • Smart Browser Control: Он управляет браузерными сессиями, прокси и кастомными хуками.
  • AI-powered Parsing: Использует эвристические методы для извлечения структурированной информации.
  • Open Source: No API keys required; deployable on Docker and cloud platforms.

Зачем использовать DeepSeek вместе с Crawl4AI?

DeepSeek — это продвинутая модель ИИ с открытым исходным кодом, которая эффективно обрабатывает текст. В сочетании с Crawl4AI она позволяет извлекать динамический контент без жестко заданных правил парсинга. Это особенно полезно для:

  • Сайты с часто меняющейся структурой: ИИ автоматически адаптируется к новой верстке.
  • Извлечение неструктурированного контента: ИИ-модели могут анализировать свободный текст, посты в блогах или отзывы клиентов.
  • Работа с разными форматами страниц: Многие сайты используют несколько шаблонов для своего контента, с которыми традиционные скраперы плохо справляются.

Веб-скрейпинг с Craw4AI и DeepSeek: пошаговое руководство

Шаг 1: Настройте проект

Сначала создайте новый каталог проекта и настройте виртуальное окружение.

mkdir ai-scraper
cd ai-scraper python -m venv venv

Активируйте виртуальное окружение:

Для macOS/Linux:

источник venv/bin/activate

For Windows:

venvScriptsactivate

Шаг 2: Установите Crawl4AI

Установите Crawl4AI и его зависимости с помощью pip:

pip install crawl4ai

Запустите команду установки браузерных зависимостей:

crawl4ai-setup

Эта команда устанавливает браузеры Playwright и настраивает базу данных для кэширования.

Шаг 3: Создайте файл скрейпера

Create a new file called scraper.py inside the project folder.

touch scraper.py

Open scraper.py in a text editor and add the basic async structure:

импорт asyncio
async def главная():
# Scraper logic will go here
пройти
если __name__ == "__main__":
asyncio.run(main())

Шаг 4: Настройте скрапер

Inside scraper.py, import the necessary Crawl4AI components:

с сайта crawl4ai импорт AsyncWebCrawler, BrowserConfig, CrawlerRunConfig, CacheMode

Определите базовая функция веб-скрапинга:

async def главная():
# Browser settings
browser_config = BrowserConfig(headless=Правда)
# Crawler settings
crawler_config = CrawlerRunConfig(cache_mode=CacheMode.BYPASS)
# Initialize and run the AI-powered scraper
async с AsyncWebCrawler(config=browser_config) в роли crawler:
result = ожидайте crawler.arun(url="https://www.example.com", config=crawler_config)
# Display the extracted data
печать(f"Extracted Data:n{result.markdown[:1000]}")

Шаг 5: Работа с ограничениями сайта

Некоторые сайты блокируют скраперы, обнаруживая ботоподобное поведение. Если ваш запрос возвращает ошибку 403 Forbidden, это означает, что сайт заблокировал ваш скрапер.

Для обхода ограничений можно использовать Web Unlocker API от Bright Data. Сервис автоматически выполняет ротацию прокси и решает CAPTCHA.

Настройте Web Unlocker API

  1. Создайте учетную запись Bright Data.
  2. Перейдите в раздел Proxies & Scraping на панели управления.
  3. Активируйте Web Unlocker API.
  4. Скопируйте учетные данные прокси и сохраните их в файле .env:
PROXY_SERVER=https://proxy.brightdata.com:22225
PROXY_USERNAME=your_username
PROXY_PASSWORD=your_password

Интегрируйте прокси в скрейпер

Modify scraper.py to use the proxy settings:

импорт os
с сайта dotenv импорт load_dotenv
load_dotenv()
# Proxy configuration
proxy_config = {
"сервер": os.getenv("PROXY_SERVER"),
"username": os.getenv("PROXY_USERNAME"),
"password": os.getenv("PROXY_PASSWORD")
}
browser_config = BrowserConfig(headless=Правда, proxy_config=proxy_config)

Теперь скрейпер будет направлять трафик через сеть Bright Data чтобы избежать обнаружения.

Масштабная работа с ограничениями сайтов

По мере усложнения вашего скрапера вы можете столкнуться с типичными проблемами, такими как блокировки по IP, CAPTCHA или страницы с интенсивным использованием JavaScript. Чтобы скрапер работал стабильно, рассмотрите инструменты, которые предлагают Ротация прокси, эмуляция браузера и автоматический обход антибот-систем.

Например, интеграция решения на основе прокси со встроенной обработкой CAPTCHA может помочь сохранять доступ даже к самым защищенным сайтам. Это гарантирует, что ваш скрапер на базе ИИ останется надежным и масштабируемым для широкого спектра сайтов. Мое агентство в основном использует Bright Data продукты для веб-скрейпинга.

Шаг 6: Используйте DeepSeek для извлечения данных с помощью ИИ

Нам нужен DeepSeek, ИИ-модель, которая понимает и структурирует данные, чтобы извлекать осмысленную информацию.

Получите API-ключ Groq

  1. Зарегистрируйтесь на GroqCloud.
  2. Создайте API-ключ under API Keys.
  3. Сохраните это в своем .env-файле:
LLM_API_TOKEN=your_groq_api_key
LLM_MODEL=groq/deepseek-r1-distill-llama-70b

Определите схему извлечения данных

Create a models/ directory and a file models/data_schema.py:

с сайта pydantic импорт BaseModel
класс ExtractedData(BaseModel): title: str
description: str
image_url: str
Use DeepSeek для AI Parsing
Modify scraper.py to include AI-powered extraction:
с сайта crawl4ai.extraction_strategy импорт LLMExtractionStrategy
с сайта models.data_schema импорт ExtractedData
extraction_strategy = LLMExtractionStrategy(
provider=os.getenv("LLM_MODEL"),
api_token=os.getenv("LLM_API_TOKEN"),
schema=ExtractedData.model_json_schema(),
extraction_type="schema",
instruction="Извлеките из содержимого заголовок, описание и URL изображения.",
input_format="markdown"
)
crawler_config = CrawlerRunConfig(
cache_mode=CacheMode.BYPASS,
extraction_strategy=extraction_strategy
)

Теперь ИИ-модель будет проанализируйте содержимое страницы и автоматически структурируйте данные.

Шаг 7: Сохраните извлеченные данные

Modify scraper.py to save the extracted data as a JSON file:

import json
async def главная():
async с AsyncWebCrawler(config=browser_config) в роли crawler:
result = ожидайте crawler.arun(url="https://www.example.com", config=crawler_config)
# Parse AI-extracted data
extracted_data = json.loads(result.extracted_content)
# Save to JSON
с открыть("output.json", "w", кодировка="utf-8") в роли f:
json.dump(extracted_data, f, indent=4)
если __name__ == "__main__":
asyncio.run(main())

Финальные шаги: запуск скрейпера

Запустите скрейпер так:

python scraper.py

Это позволит:

  1. Извлеките данные с сайта.
  2. Используйте ИИ, чтобы структурировать содержимое.
  3. Сохранить данные в JSON-файл.

Итак, мы только что создали веб-скрейпер на базе ИИ с помощью Crawl4AI и DeepSeek. В отличие от обычных скрейперов, этот инструмент умнее и гибче. Он может адаптироваться к изменениям сайта, обходить защиту от ботов и извлекать данные без сложных правил парсинга.

Заключение

С такой настройкой вы сможете без труда извлекать данные даже с самых защищенных сайтов. Больше никаких сломанных скрейперов каждый раз, когда сайт обновляется! Теперь у вас есть мощный инструмент, который делает веб-скрейпинг быстрее, умнее и надежнее.

Смело опробуйте его на разных сайтах. Успехов в программировании и скрапинге!

Похожие записи