Добавьте контакты в список потенциальных партнёров
Если уже изучили потенциальных продавцов, соберите их открытые каналы. Выберите подходящий для предложения партнёрства.
Ведите таблицу по домену с опубликованными контактами и соцсетями.
Начните со списка сайтов компаний. Соберите опубликованные каналы связи и сгруппируйте соцсети, чтобы команда располагала не только доменом.
Попробуйте эти сценарии для маркетинга, роста и изучения конкурентов.
Если уже изучили потенциальных продавцов, соберите их открытые каналы. Выберите подходящий для предложения партнёрства.
Ведите таблицу по домену с опубликованными контактами и соцсетями.
Начните со списка доменов категории из Google Search. Проверьте сайты, соберите профили и изучите аудиторию и позиционирование компаний.
Добавьте исходные страницы и заметки к списку компаний.
Для бизнеса с несколькими брендами проверьте почту, телефоны и соцсети каждого сайта. Обсудите пропуски и устаревшие ссылки с владельцами сайтов.
Сохраните аудит контактов со ссылками на проверенные страницы.
ОТ ПЕРВОГО ЗАПУСКА К РЕГУЛЯРНОЙ РАБОТЕ
{
"startUrls": ["https://apify.com", "https://www.iana.org"],
"maxPagesPerSite": 8,
"maxResults": 2,
"skipSitesWithoutContacts": false
}Вставьте это в редактор JSON Actor. Перед запуском замените примеры своими целями.
Посмотреть актуальные параметры на ApifyСкрапер посещает сайт и отдаёт приоритет страницам с публичными контактами. По возможности указывайте проверенные ссылки. По названию компании домен может быть угадан, поэтому нужно дополнительно проверить принадлежность сайта.
| Способ поиска | Когда использовать | Что меняется |
|---|---|---|
| Домены сайтов | Когда использоватьВы точно знаете, по какому объекту хотите собрать данные. | Что меняетсяСсылки сайтов или домены строками или объектами с url. Каждый сайт проверяется отдельно. Названия и профили могут превратиться в предполагаемые домены; используйте проверенные сайты. |
| Поиск по названию компании | Когда использоватьВы хотите найти подходящие результаты, прежде чем выбрать конкретные цели. | Что меняетсяОдин сайт вместе со startUrls или вместо него. Деловой email может быть прочитан как домен, но проверенный сайт понятнее. |
| Глубина обхода | Когда использоватьВам нужен больший охват, и вы готовы увеличить объём сбора. | Что меняетсяОт 1 до 100 страниц на сайт, по умолчанию 8. Приоритет у контактов, юридической информации, описания компании, команды и поддержки. Увеличивайте для больших сайтов, а не числа доменов. |
Ограничивает записи сайтов, не email-адреса или страницы. Обычно домен даёт одну запись со списками контактов. Пусто обрабатывает весь список.
Сравнить с похожим скрейперомИспользуйте точные имена полей ниже в JSON. В форме Apify вводите элементы списков отдельно и соблюдайте числовые и логические типы.
Значение по умолчанию и предзаполнение различаются. Первое действует при пропуске настройки; второе является примером в форме Apify. Проверяйте цели и лимиты перед каждым запуском. У некоторых настроек нет значения по умолчанию в схеме. Всё равно нужно указать хотя бы одну поддерживаемую цель.
startUrlsСсылки сайтов или домены строками или объектами с url. Каждый сайт проверяется отдельно. Названия и профили могут превратиться в предполагаемые домены; используйте проверенные сайты.
urlОдин сайт вместе со startUrls или вместо него. Деловой email может быть прочитан как домен, но проверенный сайт понятнее.
maxPagesPerSiteОт 1 до 100 страниц на сайт, по умолчанию 8. Приоритет у контактов, юридической информации, описания компании, команды и поддержки. Увеличивайте для больших сайтов, а не числа доменов.
maxResultsОграничивает записи сайтов, не email-адреса или страницы. Обычно домен даёт одну запись со списками контактов. Пусто обрабатывает весь список.
skipSitesWithoutContactstrue исключает прочитанные сайты без контактов, false сохраняет пустые записи для проверки охвата. Недоступные или заблокированные сайты , отдельные ошибки, не доказательство отсутствия контактов.
maxConcurrencyОт 1 до 20 сайтов одновременно, по умолчанию 5. Параллелит разные хосты, а не страницы одного сайта. Сохраняйте паузу для каждого сайта.
delayMsПауза в миллисекундах между запросами одного сайта. Не останавливает другие параллельные сайты. По умолчанию 300 , хорошая отправная точка.
requestTimeoutSecsОжидание страницы от 5 до 120 секунд, по умолчанию 20. Увеличивайте для медленных сайтов, уменьшайте для быстрой проверки. Это не общий срок Actor.
proxyConfigurationДля обычных публичных бизнес-сайтов необязателен; по умолчанию без прокси. Пробуйте для больших списков или отказов и не считайте заблокированные сайты пустыми.
resumeСохраняет прогресс примерно каждые 30 секунд для продолжения после перезапуска или миграции Apify. Обычно оставляйте включённым.
continueFromLastRunПродолжает незавершённую работу предыдущего запуска с теми же входными данными. Старые результаты остаются в его dataset. Для нового или регулярного сбора оставляйте false.
impersonateИдентификатор браузера для запросов. Сохраняйте стандарт Actor, кроме диагностики мгновенных блокировок. Он меняет отпечаток запроса, а не запрашиваемые данные.
Справочник соответствует параметрам Actor. Перед изменением рабочего процесса проверьте актуальную форму. Посмотреть актуальные параметры на Apify.
Каждый пример рассчитан на отдельный запуск. Начните с малого, проверьте результаты и затем расширяйте охват. Измените цели, страны и даты под свою задачу.
Соберите публичные контакты четырёх известных доменов, до восьми страниц каждого. Сохраняйте пустые строки для проверки охвата. Перед запуском замените примеры своим списком для исследования.
{
"startUrls": [
"https://apify.com",
"https://www.iana.org",
"https://www.python.org",
"https://www.getdbt.com"
],
"maxPagesPerSite": 8,
"maxResults": 4,
"skipSitesWithoutContacts": false
}Увеличьте бюджет до 20 страниц для двух доменов, если контакты распределены по сайту. Actor отдаёт приоритет вероятным контактным страницам; больший бюджет всё равно не означает обход всех URL сайта.
{
"startUrls": ["https://apify.com", "https://www.getdbt.com"],
"maxPagesPerSite": 20,
"maxResults": 2,
"skipSitesWithoutContacts": false,
"maxConcurrency": 2,
"delayMs": 500
}Задайте skipSitesWithoutContacts true для списка с контактами. Сначала проверьте запуск с false: удаление пустых строк удобно для экспорта, но скрывает часть картины охвата.
{
"startUrls": [
"https://apify.com",
"https://www.iana.org",
"https://www.python.org",
"https://www.getdbt.com"
],
"maxPagesPerSite": 8,
"maxResults": 4,
"skipSitesWithoutContacts": true
}Ожидайте одну запись на сайт с массивами публичных email, телефонов и социальных профилей. Пустые массивы могут означать отсутствие контактов, блокировку или контент JavaScript, который HTTP-скрапер не отображает. Проверьте логи и страницы перед выводом о недоступности компании. Проверяйте угаданные домены перед объединением со списком компаний.
resume защищает текущий запуск при перезапуске Apify. continueFromLastRun продолжает предыдущий запуск с той же конфигурацией; старые записи остаются в старом dataset. Объедините оба набора и увеличьте достигнутый лимит. Для наблюдения сегодняшних изменений начните новый сбор.
Сохраните одну из конфигураций выше в input.json. Задайте в терминале APIFY_TOKEN своим токеном Apify и отправьте файл как тело запроса.
curl --fail-with-body --request POST \
--url "https://api.apify.com/v2/actors/jmlp~web-contact-scraper/runs" \
--header "Authorization: Bearer $APIFY_TOKEN" \
--header "Content-Type: application/json" \
--data-binary @input.jsonОтвет содержит ID запуска и defaultDatasetId, а не готовые результаты. Дождитесь успешного завершения, задайте DATASET_ID идентификатором набора и получите записи. Для больших наборов используйте limit и offset для постраничной выгрузки.
curl --fail-with-body \
--url "https://api.apify.com/v2/datasets/$DATASET_ID/items?format=json" \
--header "Authorization: Bearer $APIFY_TOKEN"Документация API Apify для запуска и экспорта
Параметры экспорта набора данных
Меняйте по одному параметру, сохраняйте небольшой лимит и проверяйте сводку перед расширением сбора.
Ссылки сайтов или домены строками или объектами с url. Каждый сайт проверяется отдельно. Названия и профили могут превратиться в предполагаемые домены; используйте проверенные сайты.
Ожидайте одну запись на сайт с массивами публичных email, телефонов и социальных профилей. Пустые массивы могут означать отсутствие контактов, блокировку или контент JavaScript, который HTTP-скрапер не отображает. Проверьте логи и страницы перед выводом о недоступности компании. Проверяйте угаданные домены перед объединением со списком компаний.
true исключает прочитанные сайты без контактов, false сохраняет пустые записи для проверки охвата. Недоступные или заблокированные сайты , отдельные ошибки, не доказательство отсутствия контактов.
Успешный статус означает завершение работы Actor, а не наличие данных у источника. Проверьте SUMMARY.inputProblem, SUMMARY.problem и журнал: возможны отсутствующие цели, неподдерживаемые фильтры или отклонённые запросы. Попробуйте известную цель с меньшим числом фильтров.
Проверьте общие лимиты, лимиты поиска и страниц, охват и дедупликацию. Несколько запросов могут найти одну запись. Счётчик источника может включать недоступные публично данные. Проверьте незавершённые задачи, прежде чем считать набор полным.
Объединяйте по нормализованному домену. Поместите массивы контактов в отдельные колонки и добавьте предпочтительный канал, релевантность и источники.
Читать инструкциюПопросите Claude упорядочить каналы по сетям и отметить пропуски или неоднозначность. Общая почта не идентифицирует человека, а публикация адреса не подтверждает доставляемость.
Читать инструкциюПокажите домены с почтой, телефоном или LinkedIn. Сохраняйте ошибки в отчёте, чтобы отличать отсутствие данных от отсутствия каналов.
Читать инструкциюСохраняйте запись на домен и запуск со временем. Через UNNEST разверните почту, телефоны и профили в отдельные таблицы, сохранив исходные страницы.
Читать инструкциюПроверь jmlp/web-contact-scraper и запусти для https://apify.com, не более восьми страниц на сайт. Упорядочь открытую почту, телефоны и профили, укажи страницы и ошибки или пропуски каналов. Не утверждай, что доставляемость проверена.Сохраняйте время сбора и исходные ID: они нужны для проверки источника результата и сравнения с последующими запусками.
Собирает опубликованные контакты, не раскрывает личные данные и не проверяет доставляемость. Некоторые сайты не дают контактов. Изучите ошибки и источники перед выбором канала для уместного обращения.
Нет. Он извлекает опубликованные адреса. Проверка доставляемости является отдельным процессом.
Да. Проверьте сайты, нормализуйте домены и используйте проверенный список. Контролируйте восстановленные URL перед передачей другому скраперу.
Источник и актуальные сведения: Actor Website Contacts от JMLP на Apify.
Расскажите, что нужно собрать или понять. Я помогу со скрапером на заказ, конвейером или анализом.
Обсудить проект