перейти к содержанию

Как парсить электронные письма с любого веб-сайта: полное руководство

Электронная почта остается для бизнеса одним из наиболее эффективных каналов связи и привлечения клиентов. Персонализированные кампании по электронной почте могут привлечь значительный трафик, потенциальных клиентов и продажи. Но для реализации этих кампаний сначала вам понадобится высококачественная целевая база данных адресов электронной почты.

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

В этом подробном руководстве мы шаг за шагом подробно рассмотрим, как парсить электронные письма, используя различные методы. Хотите ли вы использовать готовый API для парсинга, написать собственный парсер на Python или даже извлекать электронные письма прямо в Google Sheets, мы вам поможем.

Но сначала давайте рассмотрим некоторые важные вещи, о которых следует помнить, прежде чем приступать к очистке электронной почты.

5 ключевых соображений перед парсингом электронных писем

Парсинг электронной почты может быть чрезвычайно эффективным, но его необходимо делать продуманным и целенаправленным образом, чтобы получить наилучшие результаты и соблюдать требования. Вот несколько ключевых моментов, которые следует учитывать заранее:

1. Определите вашу целевую аудиторию

Случайные рассылки по электронной почте, как правило, помечаются как спам и игнорируются. Вы повысите уровень вовлеченности и конверсии, если тщательно определите свой идеальный профиль клиента и соответствующим образом направите свои усилия по сбору информации.

2. Имейте четкую цель

Какова цель вашей электронной рассылки? Будь то повышение узнаваемости бренда, привлечение потенциальных клиентов или увеличение продаж, четко определите цель вашей кампании. Это определит, на какие сайты вы ориентируетесь и какие сообщения будете использовать.

3. Сосредоточьтесь на релевантных сайтах

Стремитесь парсить сайты, которые очень актуальны для вашей ниши и целевой аудитории. Например, если вы продаете расходные материалы стоматологам, вам нужно будет парсить такие сайты, как списки стоматологических клиник, профессиональные стоматологические ассоциации, стоматологические форумы и т. д.

4. Продумайте структуру и масштаб сайта.

Некоторые сайты имеют всего несколько статических страниц, тогда как другие имеют тысячи или миллионы динамических страниц. Размер и сложность сайтов, которые вы хотите парсить, будут влиять на то, какие инструменты и подходы вы используете.

5. Соблюдайте меры защиты ботов

Многие сайты используют такие средства защиты, как CAPTCHA, стены входа в систему и ограничения скорости, чтобы заблокировать парсинг веб-страниц. Использование службы API, такой как ScrapingBee, или headless-браузера может помочь вам обойти эту проблему, но обязательно соблюдайте этические правила очистки.

Учитывая эти ключевые соображения, давайте углубимся в пошаговый процесс очистки электронной почты с использованием мощного API-интерфейса ScrapingBee.

Как парсить электронные письма с помощью ScrapingBee API

ScrapingBee предоставляет готовый API для парсинга веб-страниц, который обрабатывает прокси, CAPTCHA, рендеринг JavaScript и многое другое. Он позволяет вам парсить сайты с помощью простых вызовов API и встроенной среды браузера, не беспокоясь о технических сложностях самостоятельно.

Вот как можно использовать ScrapingBee для парсинга электронных писем с любого веб-сайта всего за несколько шагов:

Шаг 1. Получите ключ API ScrapingBee

Сначала зарегистрируйте бесплатную учетную запись ScrapingBee, если вы еще этого не сделали. Для начала вы получите 1000 бесплатных пробных запросов API. После входа в систему перейдите на панель управления API, где вы найдете свой ключ API. Держите это под рукой, так как вам придется включать его в свои запросы на парсинг.

Шаг 2. Создайте список целевых сайтов.

Используйте поисковую систему, например Google, чтобы найти сайты, соответствующие вашей аудитории, с которых вы хотите получить электронные письма. ScrapingBee имеет специальный API поиска Google, который позволяет легко выполнять поиск в Google и анализировать органические результаты.

Вот пример использования API поиска Google ScrapingBee на Python для поиска сайтов, связанных с «стоматологами в Нью-Йорке»:

import requests

def send_request():
    response = requests.get(
        url=‘https://app.scrapingbee.com/api/v1/store/google‘,
        params={
            ‘api_key‘: ‘YOUR_API_KEY‘,             
            ‘search‘: ‘dentists in new york‘,
            ‘num‘: 50, # number of results
        },            
    )

    print(‘Response HTTP Status Code: ‘, response.status_code)
    print(‘Response HTTP Response Body: ‘, response.content)

send_request()

Это вернет ответ JSON с данными о 50 лучших результатах поиска, включая URL-адреса сайтов, заголовки, описания и многое другое. Сохраните эти URL-адреса, чтобы использовать их в качестве исходных данных для анализа электронной почты.

Шаг 3. Очистите электронные письма с целевых страниц

Имея под рукой целевые URL-адреса, вы теперь можете использовать API-интерфейс ScrapingBee для извлечения любых адресов электронной почты, найденных на этих страницах. ScrapingBee предоставляет удобный шаблон извлечения электронной почты, который упрощает эту задачу.

Вот пример парсинга электронных писем с одного из стоматологических сайтов с помощью ScrapingBee на Python:

from scrapingbee import ScrapingBeeClient

client = ScrapingBeeClient(api_key=‘YOUR_API_KEY‘)

response = client.get(
    ‘https://www.exampledentist.com/contact‘,
    params = {
        ‘extract_rules‘: {
            "email": {
                "selector": "body",
                "type": "emailAddress"
            }
        }
     }
)

print(‘Response HTTP Status Code: ‘, response.status_code)
print(‘Emails: ‘, response.content)

Ассоциация extract_rules параметр указывает, из какой части страницы следует извлечь данные (body) и тип данных для поиска (emailAddress). ScrapingBee отобразит всю страницу, включая весь JavaScript, и проанализирует все найденные адреса электронной почты. Соответствующие электронные письма будут возвращены в ответе API.

Чтобы увеличить масштаб, просто просмотрите все URL-адреса, которые вы хотите очистить, и сохраните извлеченные адреса электронной почты в базе данных или файле. Просто помните о том, чтобы оставаться в пределах ограничений на использование API.

Расширенный парсинг электронной почты с помощью Regex

Иногда адреса электронной почты встроены в текст страницы, а не в правильные ссылки mailto. В этом случае вы можете использовать регулярные выражения, чтобы найти шаблоны писем в любом месте страницы.

С помощью ScrapingBee вы можете установить return_page_source параметр true чтобы получить полный исходный HTML-код страницы. Затем вы можете использовать встроенную функцию Python re модуль для поиска всех адресов электронной почты в тексте:

import re
from scrapingbee import ScrapingBeeClient

client = ScrapingBeeClient(api_key=‘YOUR_API_KEY‘)

response = client.get(
  ‘https://www.exampledentist.com/about‘,
  params={
    ‘return_page_source‘: True
    }
)

emails = re.findall(r"[a-z0-9\.\-+_]+@[a-z0-9\.\-+_]+\.[a-z]+", response.text)

print(emails) 

Это распечатает список всех адресов электронной почты, найденных в любом месте HTML-страницы. Регулярное выражение [a-z0-9\.\-+_]+@[a-z0-9\.\-+_]+\.[a-z]+ соответствует любому шаблону электронного письма, содержащему символы, цифры, точки, тире и подчеркивания.

Имейте в виду, что некоторые сайты могут скрывать адреса электронной почты как user [at] domain [dot] com во избежание царапин. В этом случае измените регулярное выражение для обработки этих альтернативных шаблонов.

Другие способы очистки электронных писем

Использование службы API — наиболее эффективный способ очистки электронной почты в больших масштабах. Но есть и другие варианты, если вам нужен больший контроль над процессом или у вас небольшой проект по очистке данных.

Создайте свой собственный парсер электронной почты на Python

Вы можете написать свой собственный базовый парсер электронной почты на Python, используя популярные библиотеки, такие как requests, BeautifulSoupкачества lxml.

Вот простой пример, который извлекает электронные письма со страницы с помощью селекторов CSS:

import requests
from bs4 import BeautifulSoup

response = requests.get(‘https://www.exampledentist.com/contact‘)

soup = BeautifulSoup(response.text, ‘lxml‘)

emails = [a[‘href‘].replace(‘mailto:‘, ‘‘) for a in soup.select(‘a[href^=mailto:]‘)]

print(emails)

А вот как извлечь электронные письма из полного текста страницы с помощью регулярного выражения:

emails = re.findall(r"[a-z0-9\.\-+_]+@[a-z0-9\.\-+_]+\.[a-z]+", response.text) 
print(emails)

Обратной стороной этого подхода «сделай сам» является то, что вам придется самостоятельно управлять такими вещами, как нумерация страниц, рендеринг JavaScript, CAPTCHA и ротация IP-адресов. Используйте headless-браузер, такой как Puppeteer, если вам нужно очистить одностраничные приложения.

Очистите электронные письма в Google Sheets с помощью IMPORTXML

Хотите верьте, хотите нет, но на самом деле вы можете парсить веб-сайты прямо в Google Sheets, используя только формулы электронных таблиц. Это может быть хорошим решением для легкого, специального парсинга электронной почты.

Ключом является функция IMPORTXML, которая может получать веб-страницу и извлекать ее содержимое с помощью селекторов XPath.

Например, чтобы очистить электронную почту со страницы с помощью селектора XPath:

=IMPORTXML("https://www.exampledentist.com/contact", "//a[contains(@href, ‘mailto‘)]/@href")

Это приведет к появлению всех ссылок электронной почты, найденных на странице, соответствующих шаблону XPath. //a[contains(@href, ‘mailto‘)]/@href.

При необходимости вы даже можете использовать сопоставление регулярных выражений в Google Sheets. Вложите функции IMPORTDATA и REGEXEXTRACT следующим образом:

=REGEXEXTRACT(IMPORTDATA("https://www.exampledentist.com"), "[a-z0-9\.\-+_]+@[a-z0-9\.\-+_]+\.[a-z]+")

Функция IMPORTDATA извлекает HTML-код всей страницы, а REGEXEXTRACT анализирует первое электронное письмо, найденное в тексте, используя указанный шаблон регулярного выражения.

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

Ключевые выводы и следующие шаги

В этом подробном руководстве по парсингу электронной почты мы рассмотрели много вопросов. Подводя итоги, ключевыми моментами являются:

  • Парсинг электронной почты — мощный способ создания целевых списков для маркетинга, но делать это нужно осторожно и этично.
  • Использование службы API, такой как ScrapingBee, является наиболее эффективным способом очистки электронной почты в больших масштабах.
  • Вы можете извлекать электронные письма со страниц, используя селекторы CSS для ссылок или сопоставление регулярных выражений по всему тексту страницы.
  • Для большего контроля вы можете написать свой собственный парсер электронной почты на Python, используя такие библиотеки, как запросы и BeautifulSoup.
  • В качестве быстрого хака вы даже можете парсить электронные письма с помощью таких функций, как IMPORTXML, прямо в Google Sheets.

Независимо от того, какой метод вы выберете, обязательно соблюдайте все условия обслуживания, директивы robot.txt и местные правила, касающиеся очистки данных и отправки по электронной почте. Сосредоточьтесь на качестве, а не на количестве, и всегда предоставляйте ценность получателям.

Хотите начать очищать электронную почту сегодня? Подпишитесь на бесплатную пробную версию ScrapingBee и получите 1000 бесплатных вызовов API, чтобы начать создавать свой список адресов электронной почты.

Вот несколько полезных ресурсов, где можно узнать больше:

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

Присоединяйтесь к беседе

Ваш электронный адрес не будет опубликован. Обязательные поля помечены * *