contact-email-extractor-cli
v1.0.1
Published
Advanced email extraction tool using Puppeteer
Downloads
24
Maintainers
Readme
Contact Email Extractor
A powerful, production-ready CLI tool for extracting contact emails from websites using Puppeteer. Built with advanced anti-detection techniques and human-like behavior simulation.
🌟 Features
- 🛡️ Anti-Detection: Advanced stealth techniques to avoid bot detection
- 🎯 Smart Extraction: Intelligent email extraction from dynamic content
- 🔄 Proxy Support: Built-in proxy rotation with automatic failover
- ⚡ High Performance: Parallel processing with configurable concurrency
- 📊 Multiple Outputs: Export results in JSON, CSV, or TXT formats
- 🛠️ Robust Error Handling: Graceful error recovery and comprehensive logging
🚀 Quick Start
# Install globally
npm install -g contact-email-extractor-cli
# Basic usage
email-extractor domains.txt
# Advanced options
email-extractor domains.txt \
--concurrency 5 \
--timeout 60000 \
--proxy-list proxies.txt \
--export json📦 Installation
- Clone the repository:
git clone https://github.com/dranach1/contact-email-extractor.git
cd contact-email-extractor- Install dependencies:
npm install- Create configuration files:
cp config.example.json config.json⚙️ Configuration
Create a config.json file in your project root:
{
"maxConcurrent": 3,
"timeout": 30000,
"maxPagesPerDomain": 10,
"viewport": {
"width": 1920,
"height": 1080
}
}📝 Usage
Basic Usage
email-extractor domains.txtAdvanced Options
email-extractor domains.txt \
--concurrency 5 \
--timeout 60000 \
--proxy-list proxies.txt \
--export jsonCommand Line Options
| Option | Description | Default |
|--------|-------------|---------|
| --concurrency | Number of concurrent processes | 3 |
| --timeout | Request timeout in ms | 30000 |
| --proxy-list | Path to proxy list file | - |
| --export | Output format (json/csv/txt) | json |
| --debug | Enable debug logging | false |
📊 Output Examples
JSON Output
{
"domain": "example.com",
"emails": [
"[email protected]",
"[email protected]"
],
"contactPages": [
"https://example.com/contact",
"https://example.com/about"
],
"metadata": {
"pagesChecked": 5,
"emailsFound": 2,
"processingTime": 1234
}
}CSV Output
email,source_page,domain
[email protected],https://example.com/contact,example.com
[email protected],https://example.com/about,example.com🐳 Docker Support
# Build the image
docker build -t contact-email-extractor .
# Run the container
docker run -v $(pwd):/app contact-email-extractor domains.txt🤝 Contributing
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
📄 License
This project is licensed under the MIT License - see the LICENSE file for details.
👥 Authors
- Dr. Anach - Initial work - dranach1
🙏 Acknowledgments
- Puppeteer - Headless Chrome Node.js API
- puppeteer-extra - A plugin proxy for puppeteer
- puppeteer-extra-plugin-stealth - Stealth plugin for puppeteer-extra
📚 Documentation
For detailed documentation, visit our GitHub Pages site.
🔒 Security
Please report any security issues to [email protected].
