javascript

code Python verified Бесплатная загрузка devices Кроссплатформенный

code Предпросмотр кода

Python
#!/usr/bin/env node
/**
 * Email Extractor for Node.js
 * Extract and validate email addresses using JavaScript
 */

const fs = require('fs').promises;
const readline = require('readline');

const EMAIL_REGEX = /\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b/g;

async function extractEmailsFromFile(filePath) {
    const emails = new Set();

    const fileStream = require('fs').createReadStream(filePath);
    const rl = readline.createInterface({
        input: fileStream,
        crlfDelay: Infinity
    });

    for await (const line of rl) {
        const found = line.match(EMAIL_REGEX);
        if (found) {
            found.forEach(email => emails.add(email.toLowerCase()));
        }
    }

    return Array.from(emails).sort();
}

async function extractFromJSON(filePath) {
    const content = await fs.readFile(filePath, 'utf8');
    const data = JSON.parse(content);
    const emails = new Set();

    function findEmails(obj) {
        if (typeof obj === 'string') {
            const found = obj.match(EMAIL_REGEX);
            if (found) found.forEach(e => emails.add(e.toLowerCase()));
        } else if (Array.isArray(obj)) {
            obj.forEach(findEmails);
        } else if (obj && typeof obj === 'object') {
            Object.values(obj).forEach(findEmails);
        }
    }

    findEmails(data);
    return Array.from(emails).sort();
}

if (require.main === module) {
    const args = process.argv.slice(2);
    extractEmailsFromFile(args[0]).then(emails => {
        console.log(`Found ${emails.length} unique emails`);
    });
}

info Об инструменте

Экстрактор email для Node.js - это чистая JavaScript-реализация для извлечения email-адресов. Идеально подходит для JavaScript-разработчиков, которые хотят оставаться в своей экосистеме без зависимостей от Python.

Ключевые особенности

  • Нативный Node.js - Чистый JavaScript, Python не требуется
  • Async/Await - Современный синтаксис ES6+ с неблокирующим I/O
  • Потоковая обработка - Эффективная обработка больших файлов
  • Парсинг JSON - Извлечение email из ответов API
  • CLI-интерфейс - Простая интеграция с npm-скриптами
  • Без зависимостей - Использует только встроенные модули Node.js

Поддерживаемые форматы

  • Простые текстовые файлы (.txt, .log)
  • JSON-файлы и ответы API
  • Исходные файлы JavaScript (.js, .jsx, .ts, .tsx)
  • Любой текстовый формат UTF-8

Требования

  • Node.js 14+ (LTS recommended)
  • Пакеты npm не требуются

Примечание: Этот скрипт для Node.js (backend). Для использования в браузере потребуются модификации для работы с File API.

download Скачать скрипт

Нужна полная автоматизация?

Попробуйте Postigo для автоматизированных email-кампаний с AI-персонализацией

rocket_launch Start Free Trial