E-Mail-Adressen von Webseiten extrahieren

Drei Methoden zum Sammeln von E-Mail-Adressen aus beliebigen Webseiten

← Zurück zum E-Mail Extractor

Warum Webseiten E-Mail-Adressen enthalten

Webseiten sind eine der reichhaltigsten Quellen für öffentlich geteilte E-Mail-Adressen. Kontaktinformationen finden sich an vielen Stellen:

Empfehlung

Verschicke sofort und sicher günstige Newsletter über rapidmail.
  • Kontaktseiten – fast jede Website hat eine Kontaktseite mit mindestens einer E-Mail-Adresse.
  • Footer-Bereiche – viele Websites zeigen eine allgemeine Kontakt-E-Mail im seitenweiten Fußbereich.
  • Über-uns- und Team-Seiten – Firmenwebsites listen oft individuelle E-Mail-Adressen für Teammitglieder auf.
  • Stellenangebote – Karriereseiten enthalten häufig eine HR- oder Recruiter-E-Mail.
  • Impressum – in Deutschland und vielen europäischen Ländern sind Unternehmen gesetzlich verpflichtet, Kontaktdaten im Impressum zu veröffentlichen.
  • Blog-Beiträge und Artikel – Autorenbiografien und Pressemitteilungen enthalten oft E-Mail-Adressen.

Methode 1: Kopieren und Einfügen von einer Webseite

  1. Navigiere zur Webseite mit den E-Mail-Adressen.
  2. Markiere den gesamten Text mit Strg+A und kopiere ihn mit Strg+C.
  3. Gehe zu extract-emails.com/de und füge den Text ein.
  4. Das Tool erkennt sofort alle E-Mail-Adressen im eingefügten Text.

Einschränkung: Diese Methode erfasst nur sichtbaren Text. E-Mail-Adressen in mailto:-Links hinter Buttons werden möglicherweise nicht erfasst.

E-Mail Marketing Tool

Methode 2: Unser browserbasiertes Tool (Empfohlen)

Für beste Ergebnisse verwende den HTML-Quelltext:

  1. Zeige den Seitenquelltext an mit Strg+U.
  2. Kopiere den gesamten Quelltext.
  3. Füge ihn in unser Tool ein.
  4. Das Tool findet alle E-Mail-Adressen – auch solche in mailto:-Links, Meta-Tags und JavaScript-Variablen.

Datenschutz: Die gesamte Verarbeitung erfolgt lokal in deinem Browser. Keine Daten werden an Server gesendet.

Methode 3: Python mit Beautiful Soup

Abhängigkeiten installieren
pip install beautifulsoup4 requests
E-Mails von einer URL extrahieren
import re
import requests
from bs4 import BeautifulSoup

def emails_von_url_extrahieren(url):
    antwort = requests.get(url, timeout=10)
    soup = BeautifulSoup(antwort.text, "html.parser")

    # Sichtbaren Text extrahieren
    text = soup.get_text()

    # Auch mailto:-Links pruefen
    for link in soup.find_all("a", href=True):
        if link["href"].startswith("mailto:"):
            text += " " + link["href"].replace("mailto:", "")

    pattern = r'[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}'
    emails = list(set(re.findall(pattern, text)))
    return sorted(emails)

# Beispiel
emails = emails_von_url_extrahieren("https://beispiel.de/kontakt")
for email in emails:
    print(email)

Mehrere Seiten crawlen

import re
import requests
from bs4 import BeautifulSoup
from urllib.parse import urljoin, urlparse

def website_crawlen(start_url, max_seiten=50):
    domain = urlparse(start_url).netloc
    besucht = set()
    zu_besuchen = [start_url]
    alle_emails = set()
    pattern = r'[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}'

    while zu_besuchen and len(besucht) < max_seiten:
        url = zu_besuchen.pop(0)
        if url in besucht:
            continue
        besucht.add(url)

        try:
            antwort = requests.get(url, timeout=10)
            soup = BeautifulSoup(antwort.text, "html.parser")
            text = soup.get_text()
            emails = re.findall(pattern, text)
            alle_emails.update(emails)

            for link in soup.find_all("a", href=True):
                href = link["href"]
                if href.startswith("mailto:"):
                    email = href.replace("mailto:", "").split("?")[0]
                    alle_emails.add(email)
                else:
                    volle_url = urljoin(url, href)
                    if urlparse(volle_url).netloc == domain:
                        zu_besuchen.append(volle_url)

            print(f"Besucht: {url} ({len(emails)} E-Mails)")
        except Exception as e:
            print(f"Fehler: {url} - {e}")

    return sorted(alle_emails)

emails = website_crawlen("https://beispiel.de")
print(f"\nInsgesamt {len(emails)} eindeutige E-Mails")
for email in emails:
    print(email)
E-Mail Marketing Tool

Rechtliche und ethische Hinweise

  • robots.txt beachten: Viele Websites definieren Crawling-Regeln in ihrer robots.txt.
  • Rate Limiting: Füge Wartezeiten (1–2 Sekunden) zwischen Anfragen ein.
  • DSGVO-Konformität: Eine öffentlich sichtbare E-Mail-Adresse berechtigt nicht automatisch zur Nutzung für Marketing. Lies unseren DSGVO-Guide.
  • Nutzungsbedingungen: Viele Websites verbieten automatisiertes Scraping in ihren AGB.
  • Extraktion vs. Harvesting: E-Mails von der eigenen Website zu extrahieren ist etwas anderes als Massen-Harvesting im Internet.

Tipps für beste Ergebnisse

  • HTML-Quelltext prüfen. Viele E-Mail-Adressen sind hinter Buttons oder in Scripts versteckt.
  • Relevante Seiten zuerst. Kontakt-, Impressum-, Team- und Über-uns-Seiten enthalten die meisten E-Mails.
  • Ergebnisse validieren. Platzhalter wie beispiel@example.com herausfiltern.
  • Unser Tool für schnelle Ergebnisse. Für wenige Seiten ist Kopieren und Einfügen schneller als ein Skript.

E-Mails von jeder Webseite extrahieren

Text oder HTML-Quelltext einfügen – unser kostenloses Tool findet sofort jede E-Mail-Adresse.

E-Mail Extractor öffnen
DD
Über den Autor

Daniel Dorfer war fast vier Jahre im technischen Support bei GMX, einem der größten deutschen E-Mail-Anbieter, und knapp zwei Jahre bei united domains, einem führenden Domain-Hoster und Registrar. Er ist Gründungsmitglied des KIBC (KI Business Club). Diese Website wurde vollständig mit Hilfe von Claude Code (Opus 4.6) von Anthropic erstellt.

Checkdomain