Видео на YouTube

📢 Телеграм-канал Dan Gridin по AI-first ABM → t.me/dg_abm 🎓 Курс для AI-first биздевовdangridin.com/bdr


Учебный кейс: AI WEEK Milan 2026. Участников больше 1000, но Networking App показывает только 100 человек — без экспорта, без email, без LinkedIn. Задача: вытащить полный список через OCR нативного Mac-приложения и загрузить в Clay для квалификации.


Что делаем

  1. Пробуем веб-версию — упираемся в лимит 100 человек
  2. Переключаемся на Mac-приложение + OCR через Claude Cowork
  3. Получаем CSV с ~1500+ контактами (имя, компания, должность)
  4. Чистим данные — исправляем перепутанные колонки
  5. Загружаем в Clay → ищем домены → квалифицируем

Шаг 1 — Установить Claude Cowork

Как установить Claude Code на Windows

Как установить Claude Code на Mac

Claude Cowork — десктопное приложение с доступом к файлам, терминалу и управлению экраном. Именно оно будет скроллить приложение и читать экран через OCR.


Шаг 2 — Промт для Claude Cowork

Открой Claude Cowork, выбери папку для работы, вставь промт ниже и запускай.

Я хочу спарсить список участников из Mac-приложения AI WEEK (или аналогичного networking app).
Приложение установлено на Mac, в нём открыт раздел Networking со списком контактов.

Что нужно сделать:

1. Собери OCR-инструмент:
   - Напиши Swift CLI-бинарник ocr_helper.swift, который принимает путь к PNG
     и выводит распознанный текст через Apple Vision (VNRecognizeTextRequest,
     recognitionLevel = .accurate, usesLanguageCorrection = false)
   - Скомпилируй: swiftc -O ocr_helper.swift -o ~/Documents/scrapers/ai-week/ocr_helper

2. Определи координаты:
   - Сделай скриншот рабочего стола, найди окно приложения
   - Вычисли координаты области со списком контактов (без заголовка)
   - Проверь OCR на тестовом скриншоте этой области

3. Напиши координированный скрапер scrape_coordinated.py:
   - Делает screencapture -x -R x,y,w,h → OCR → парсит карточки контактов
   - Разделитель карточек: строка из 2–5 заглавных букв (инициалы аватара)
   - Каждая карточка: до 3 слотов (name, company, title)
   - Дедупликация по name.lower().replace(' ', '')
   - Сохраняет в CSV после каждого шага
   - Файловый триггер: создаёт aiweek_ready → ждёт aiweek_scroll.trigger
   - Стоп: 10 подряд шагов без новых контактов

4. Запусти скрапер в фоне: python3 scrape_coordinated.py &

5. Управляй скроллом:
   - Когда появляется aiweek_ready — удали его, скролльни список вниз
     (координата центра списка, direction=down, amount=12), создай aiweek_scroll.trigger
   - Повторяй до остановки скрапера

6. После завершения — почисти CSV:
   - Исправь строки где name содержит должность или компанию
     (используй словари TITLE_WORDS и COMPANY_WORDS как ворота)
   - Добавь колонки first_name и last_name
   - Исправь строки где name содержит должность или компанию
     (используй словари TITLE_WORDS и COMPANY_WORDS как ворота)
   - Добавь колонки first_name и last_name
   - Сохрани как mac_app_contacts_final.csv
   - Дополнительно: создай companies.csv — список уникальных компаний
     с колонками company и count (сколько участников из этой компании)

Работай автономно. Не спрашивай подтверждения.