CoderCastrov logo
CoderCastrov
Питон

Автоматизация генерации потенциальных клиентов/парсинга электронной почты с помощью Python

Автоматизация генерации потенциальных клиентов/парсинга электронной почты с помощью Python
просмотров
2 мин чтение
#Питон

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

Miguel Á. Padriñán с сайта Pexels

Хотите пропустить статью и сразу увидеть полезный код? Вот ссылка на репозиторий на Github


nOOBIE-nOOBIE/Email-Crawler-Lead-Generator

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

github.com

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

Давайте посмотрим, как будет выглядеть наш конечный продукт, чтобы я не тратил ваше время, если вам это неинтересно.

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

Посмотрите код

Сначала давайте посмотрим на код, а затем я объясню каждый шаг

Давайте разберемся, что здесь происходит

Первая часть функции init()

Мы определили следующие наборы

processed_urls → будет содержать посещенные нами URL-адреса (чтобы мы не посещали один и тот же URL-адрес дважды) unprocessed_urls → будет содержать URL-адреса, которые находятся в очереди на разбор emails → будет содержать разобранные электронные адреса.

Мы будем использовать базовый URL позже, чтобы убедиться, что наш парсер не посещает внешние URL-адреса. Например: если пользователь передает https://www.medium.com, то базовым URL будет medium.com. Мы будем использовать это позже, чтобы убедиться, что наш парсер будет посещать только URL-адреса в пределах этого домена.

Функция crawl()

Функция crawl является начальной точкой нашего веб-сканера. Она будет продолжать посещать все URL-адреса в очереди, пока мы не посетим каждый URL-адрес на веб-сайте.

Функция parse_url()

Наша функция parse_url - это место, где происходит извлечение информации. Здесь мы

  • разбираем и фильтруем все найденные URL-адреса на данной странице.
  • Мы фильтруем "дублирующиеся URL-адреса", "URL-адреса за пределами домена" и "уже посещенные URL-адреса".
  • Мы также убеждаемся, что мы не пытаемся посетить URL-адреса, которые ведут к файлам, таким как jpg, mp4, zip.
  • Наконец, мы разбираем страницу на наличие электронных адресов и затем записываем их в файл CSV.

Функция parse_emails()

Она принимает текстовый ввод, затем находит электронные адреса в этом тексте и, наконец, записывает эти адреса электронной почты в файл CSV.

Как запустить этот код?

Чтобы запустить код локально, выполните следующие простые шаги.

Установка

git clone [https://github.com/nOOBIE-nOOBIE/Email-Crawler-Lead-Generator.git](https://github.com/nOOBIE-nOOBIE/Email-Crawler-Lead-Generator.git)
  1. Установите зависимости

pip install -r requirements.txt

Использование

Просто передайте URL в качестве аргумента

python email_crawler.py [https://medium.com/](/)

Вывод

➜  email_crawler python3 email_crawler.py https://medium.com/
ДОБРО ПОЖАЛОВАТЬ В EMAIL CRAWLER
ПАРСИНГ: https://medium.com/
 1 Найденный email press@medium.com
 2 Найденный email u002F589e367c28ca47b195ce200d1507d18b@sentry.io
ПАРСИНГ: https://medium.com/creators
 3 Найденный email joshsrose@me.com
 4 Найденный email yourfriends@medium.com
 5 Найденный email partnerprogram@medium.com
 6 Найденный email dominiquemattiwrites@gmail.com
 7 Найденный email hihumanparts@gmail.com
ПАРСИНГ: https://medium.com/@mshannabrooks
ПАРСИНГ: https://medium.com/m/signin?operation=register&redirect=https%3A%2F%2Fmedium.com%2F%40mshannabrooks&source=listing-----5f0204823a1e---------------------bookmark_sidebar-
ПАРСИНГ: [https://medium.com/m/signin?operation=register&redirect=https%3A%2F%2Fmedium.com%2F%40mshannabrooks&source=-----e5d9a7ef4033----6------------------](/m/signin?operation=register&redirect=https%3A%2F%2Fmedium.com%2F%40mshannabrooks)

Пример данных

sample data from crawling medium

Если у вас есть предложения или вы нашли какие-либо проблемы, не стесняйтесь открыть issue или Pull Request на GitHub.

Спасибо за чтение.

ВЫ УДИВИТЕЛЬНЫ