
socid-extractor v0.1.1
⛏️ Der Extraktionsmotor hinter Maigret: Wandeln Sie jede Profil-URL in einen strukturierten OSINT-Datensatz auf über 150 Websites um.
socid_extractor
Verwandle jede öffentliche Profilseite in einen strukturierten Account-Datensatz — Benutzernamen, Anzeigenamen, Biografien, Avatare, Standorte, Beitrittsdaten, Follower-Zahlen, externe Links und die stabilen internen Identifikatoren, die einen Account über Umbenennungen, Redesigns und Löschungen hinweg eindeutig festmachen.
socid_extractor parst HTML-Seiten und API-Antworten aus über 250 Schemata und liefert ein flaches, maschinenlesbares Dictionary von Account-Feldern zurück. Keine API-Schlüssel erforderlich, kein Headless-Browser — nur ein einziger Funktionsaufruf auf dem Antworttext.
Warum es nützlich ist
- Stabile dienstübergreifende IDs. Erhalte GAIA ID (Google), Facebook UID, Yandex Public ID, Instagram pk und Dutzende mehr — Werte, die Benutzernamenänderungen überstehen und es dir ermöglichen, Accounts über Leaks, Archive und Suchmaschinen-Indizes hinweg zu korrelieren.
- Eine einheitliche Schnittstelle. Derselbe
extract()-Aufruf für Instagram, GitHub, VK, Reddit, Substack, Bluesky, TikTok — kein plattformspezifischer Glue-Code auf deiner Seite. - Feld-Ontologie. Normalisierte Feldnamen über alle Plattformen hinweg (
username,fullname,created_at,is_verified, …), sodass nachgelagerte Pipelines keine 130 Mappings benötigen. - Praxiserprobt. Treibt Maigret und eine Reihe weiterer OSINT-Tools an.
Installation
Python: 3.10+.
pip install socid-extractor
Für eine saubere CLI-Installation auf einer Workstation:
pipx install socid-extractor
Die neueste Entwicklungsversion:
pip install -U git+https://github.com/soxoj/socid-extractor.git
Schnellstart
Als CLI:
$ socid_extractor --url https://www.deviantart.com/muse1908
country: France
created_at: 2005-06-16 18:17:41
gender: female
username: Muse1908
website: www.patreon.com/musemercier
links: ['https://www.facebook.com/musemercier', 'https://www.instagram.com/muse.mercier/', 'https://www.patreon.com/musemercier']
tagline: Nothing worth having is easy...
Als Python-Bibliothek:
import requests
import socid_extractor
r = requests.get('https://www.patreon.com/annetlovart')
print(socid_extractor.extract(r.text))
# {'patreon_id': '33913189', 'patreon_username': 'annetlovart',
# 'fullname': 'Annet Lovart',
# 'links': "['https://www.facebook.com/322598031832479', ...]"}
Tipp — Batch-Läufe: Übergeben Sie --skip-fetch-if-no-url-hint, um die HTTP-Anfrage zu überspringen, wenn die URL keinem bekannten Site-Hinweis entspricht (schneller, kann aber generische Engines wie Foren-Templates überspringen):
$ socid_extractor --url https://example.com/foo --skip-fetch-if-no-url-hint
Unterstützte Seiten
Eine nicht vollständige Auswahl:
- Große Netzwerke: Facebook (Benutzer- & Gruppenseiten), Instagram, VK.com, OK.ru, Reddit, TikTok, Bluesky, Tumblr, Flickr
- Google-Ökosystem: Google Docs/Maps-Beiträge (Cookies erforderlich), Google Play, YouTube
- Mail.ru: my.mail.ru Benutzer-Hauptseite, Foto, Video
- Entwickler-/Schreibplattformen: GitHub, Stack Overflow (HTML + API), LeetCode, Hashnode, Medium, Substack, Paragraph, WordPress.org, Virgool
- Foren (universelle Detektoren): Discourse, MediaWiki / Fandom-Wikis, Mastodon
- Nische / vertikal: Chess.com, Roblox, MyAnimeList, Scratch, Wikipedia, DailyMotion, SlideShare, Weebly, Calendly, Amazon Author, Boosty, Warpcast (Farcaster), Fragment (TON/Telegram), Rarible, CSSBattle, lnk.bio, Spatial, TwitchTracker, Max (max.ru)
…und viele weitere.
Beispiele für Daten finden Sie in tests/test_e2e.py; die Parsing-Logik finden Sie in socid_extractor/schemes.py; die Feld-Ontologie finden Sie in FIELDS.md.
Anwendungsfälle
- Von einem Profil zu allem pivotieren, was Sie sehen können. Ein einziger Aufruf liefert die sichtbaren Informationen sowie die verborgenen internen IDs, die die Plattform hinter den Kulissen verwendet. Hintergrundlektüre: Week in OSINT — Getting a grasp on Google IDs.
- Konten über Umbenennungen, Redesigns und Löschungen hinweg verfolgen. Stabile IDs (GAIA, FB UID, Yandex Public ID, Instagram pk, …) ermöglichen es Ihnen, dieselbe Person erneut zu identifizieren, selbst wenn sich jedes sichtbare Feld geändert hat. Hintergrund: Aware Online — User IDs in social-media investigations.
- Suche nach dienstübergreifender UID. Sobald Sie eine stabile Kennung haben, können Sie pivotieren zu:
- SQL / geleakten Datenbanken (Forum-Dumps, Breach-Daten), in denen die UID der Join-Schlüssel ist,
- Google / Yandex / archive.org-Indizes, die URLs mit der UID erfasst haben.
- Nachgelagerte OSINT-Tools speisen. Ein normalisierter Datensatz ist viel einfacher zu verarbeiten als seitenweise Scraper — verwendet von Maigret und ähnlichen Tools zur Anreicherung.
Kommerzielle Nutzung
Der Open-Source-socid_extractor ist MIT-lizenziert und ohne Einschränkung kostenlos für die kommerzielle Nutzung — aber Seitenparser brechen mit der Zeit, wenn Plattformen ihr HTML und ihre APIs ändern, und sie benötigen aktive Wartung.
Für ernsthafte kommerzielle Nutzung — eine gehostete Extraktions-API oder die Wartung der Parser, von denen Ihr Produkt abhängt — kontaktieren Sie uns: 📧 [email protected]
- Extraktions-API — integrieren Sie
socid_extractorin Ihr Produkt
SOWEL-Klassifizierung
Ordnet sich den folgenden SOWEL-Techniken zu: