
⛏️ El motor de extracción detrás de Maigret: convierte cualquier URL de perfil en un registro OSINT estructurado en más de 150 sitios
Convierte cualquier página de perfil pública en un registro de cuenta estructurado: nombres de usuario, nombres para mostrar, biografías, avatares, ubicaciones, fechas de alta, recuentos de seguidores, enlaces externos y los identificadores internos estables que fijan de forma única una cuenta a través de cambios de nombre, rediseños y eliminaciones.
socid_extractor analiza páginas HTML y respuestas de API de más de 250 esquemas y devuelve un diccionario plano y legible por máquina con los campos de la cuenta. No requiere claves de API ni un navegador headless: basta con una única llamada a función sobre el texto de la respuesta.
Por qué es útil
extract() para Instagram, GitHub, VK, Reddit, Substack, Bluesky, TikTok: sin código de integración específico por plataforma de tu parte.username, fullname, created_at, is_verified, …) para que las canalizaciones posteriores no necesiten 130 mapeos.Python: 3.10+.
pip install socid-extractor
Para una instalación limpia de la CLI en una estación de trabajo:
pipx install socid-extractor
La última versión de desarrollo:
pip install -U git+https://github.com/soxoj/socid-extractor.git
Como 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...
Como biblioteca de Python:
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', ...]"}
Consejo — ejecuciones por lotes: pasa --skip-fetch-if-no-url-hint para omitir la solicitud HTTP cuando la URL no coincida con ninguna pista de sitio conocida (más rápido, pero puede omitir motores genéricos como las plantillas de foro):
$ socid_extractor --url https://example.com/foo --skip-fetch-if-no-url-hint
Una muestra no exhaustiva:
…y muchos otros.
Para ver ejemplos de datos, consulta tests/test_e2e.py; para la lógica de análisis, consulta socid_extractor/schemes.py; para la ontología de campos, consulta FIELDS.md.
El socid_extractor de código abierto tiene licencia MIT y es gratuito para uso comercial sin restricciones — pero los analizadores de páginas se rompen con el tiempo a medida que las plataformas cambian su HTML y sus API, y necesitan mantenimiento activo.
Para un uso comercial serio — una API de extracción alojada, o el mantenimiento de los analizadores de los que depende tu producto — ponte en contacto: 📧 [email protected]
socid_extractor en tu productoSe corresponde con las siguientes técnicas de SOWEL: