Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

ЛентыКонтактыКонфиденциальность© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
socid-extractor — ⛏️ Движок извлечения данных, лежащий в основе Maigret: превратите любой URL профиля в структурированную OSINT-запись для более чем 150 сайтов | Kitploit
Инструменты/GitHubGitHub/soxoj/socid-extractor
OSINT (Разведка открытых источников)РазведкаСбор информацииСоциальная инженерияКраулер
GitHubsoxoj/socid-extractor

socid-extractor

⛏️ Движок извлечения данных, лежащий в основе Maigret: превратите любой URL профиля в структурированную OSINT-запись для более чем 150 сайтов

Репозиторий
1.1k118559 дней назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться
# socid_extractor

[![PyPI version](https://img.shields.io/pypi/v/socid-extractor.svg)](https://pypi.org/project/socid-extractor/)
[![Downloads/month](https://static.pepy.tech/badge/socid-extractor/month)](https://pepy.tech/project/socid-extractor)
[![Total downloads](https://static.pepy.tech/badge/socid-extractor)](https://pepy.tech/project/socid-extractor)
[![License](https://img.shields.io/pypi/l/socid-extractor.svg)](https://github.com/soxoj/socid-extractor/blob/master/LICENSE)

[![CI](https://img.shields.io/github/actions/workflow/status/soxoj/socid-extractor/python-package.yml?branch=master&label=tests)](https://github.com/soxoj/socid-extractor/actions/workflows/python-package.yml)
[![GitHub stars](https://img.shields.io/github/stars/soxoj/socid-extractor.svg?style=social)](https://github.com/soxoj/socid-extractor/stargazers)
[![GitHub forks](https://img.shields.io/github/forks/soxoj/socid-extractor.svg?style=social)](https://github.com/soxoj/socid-extractor/network/members)

> Превратите любую публичную страницу профиля в структурированную запись аккаунта — имена пользователей, отображаемые имена, биографии, аватары, местоположения, даты регистрации, количество подписчиков, внешние ссылки и **стабильные внутренние идентификаторы**, которые однозначно закрепляют аккаунт при смене имени, редизайне и удалении.

`socid_extractor` разбирает HTML-страницы и ответы API из более чем 250 схем и возвращает плоский машиночитаемый словарь полей аккаунта. API-ключи не требуются, headless-браузер не нужен — достаточно одного вызова функции на тексте ответа.

**Почему это полезно**

- **Стабильные межсервисные ID.** Получайте GAIA ID (Google), Facebook UID, Yandex Public ID, Instagram pk и десятки других — значения, которые переживают смену имени пользователя и позволяют сопоставлять аккаунты по утечкам, архивам и индексам поисковых систем.
- **Единый интерфейс.** Один и тот же вызов `extract()` для Instagram, GitHub, VK, Reddit, Substack, Bluesky, TikTok — никакого платформенного кода-обвязки на вашей стороне.
- **Онтология полей.** [Нормализованные имена полей](https://github.com/soxoj/socid-extractor/blob/master/FIELDS.md) для всех платформ (`username`, `fullname`, `created_at`, `is_verified`, …), так что последующим пайплайнам не нужны 130 маппингов.
- **Проверено на практике.** Лежит в основе [Maigret](https://github.com/soxoj/maigret) и ряда других OSINT-инструментов.

## Установка

Python: 3.10+.

```sh
pip install socid-extractor
```

Для чистой установки CLI на рабочей станции:

```sh
pipx install socid-extractor
```

Последняя версия для разработки:

```sh
pip install -U git+https://github.com/soxoj/socid-extractor.git
```

## Быстрый старт

**Как CLI:**

```sh
$ 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...
```

**Как библиотека Python:**

```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', ...]"}
```

**Совет — пакетные запуски:** передайте `--skip-fetch-if-no-url-hint`, чтобы пропустить HTTP-запрос, когда URL не соответствует ни одному известному подсказке сайта (быстрее, но может пропустить универсальные движки, такие как шаблоны форумов):

```sh
$ socid_extractor --url https://example.com/foo --skip-fetch-if-no-url-hint
```

## Поддерживаемые сайты

[**Более 250 схем**, охватывающих примерно 2 000 сайтов, которые проверяет Maigret — полный список см. в METHODS.md.](https://github.com/soxoj/socid-extractor/blob/master/METHODS.md)

Неполный список примеров:

- **Крупные сети:** Facebook (страницы пользователей и групп), Instagram, VK.com, OK.ru, Reddit, TikTok, Bluesky, Tumblr, Flickr
- **Экосистема Google:** вклад в Google docs/maps (требуются cookies), Google Play, YouTube
- **Mail.ru:** главная страница пользователя my.mail.ru, фото, видео
- **Платформы для разработки и письма:** GitHub, Stack Overflow (HTML + API), LeetCode, Hashnode, Medium, Substack, Paragraph, WordPress.org, Virgool
- **Форумы (универсальные детекторы):** Discourse, MediaWiki / вики Fandom, Mastodon
- **Нишевые / вертикальные:** 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)

…и многие другие.

Примеры данных см. в [`tests/test_e2e.py`](https://github.com/soxoj/socid-extractor/blob/master/tests/test_e2e.py); логику парсинга см. в [`socid_extractor/schemes.py`](https://github.com/soxoj/socid-extractor/blob/master/socid_extractor/schemes.py); онтологию полей см. в [FIELDS.md](https://github.com/soxoj/socid-extractor/blob/master/FIELDS.md).

## Сценарии использования

- **Переход от профиля ко всему, что можно увидеть.** Один вызов возвращает видимую информацию плюс скрытые внутренние ID, которые платформа использует за кулисами. Для ознакомления: [Week in OSINT — Getting a grasp on Google IDs](https://medium.com/week-in-osint/getting-a-grasp-on-googleids-77a8ab707e43).
- **Отслеживание аккаунтов через переименования, редизайны и удаления.** Стабильные ID (GAIA, FB UID, Yandex Public ID, Instagram pk, …) позволяют повторно идентифицировать одного и того же человека, даже когда все видимые поля изменились. Для ознакомления: [Aware Online — User IDs in social-media investigations](https://www.aware-online.com/en/importance-of-user-ids-in-social-media-investigations/).
- **Поиск по UID между сервисами.** Получив стабильный идентификатор, можно перейти к:
  - SQL / утёкшим базам данных (дампы форумов, данные утечек), где UID является ключом соединения,
  - индексам Google / Yandex / archive.org, в которых сохранены URL, содержащие UID.
- **Питание нижестоящих OSINT-инструментов.** Нормализованную запись гораздо проще принимать, чем отдельные скраперы для каждого сайта — её используют [Maigret](https://github.com/soxoj/maigret) и аналогичные инструменты для обогащения.

## Коммерческое использование

Открытый `socid_extractor` распространяется по лицензии MIT и бесплатен для коммерческого использования без ограничений — но парсеры страниц со временем ломаются, поскольку платформы меняют свой HTML и API, и требуют активного сопровождения.

Для серьёзного коммерческого использования — размещённого API извлечения или сопровождения парсеров, от которых зависит ваш продукт — свяжитесь с нами: 📧 [email protected]

- API извлечения — интегрируйте `socid_extractor` в свой продукт

## Классификация SOWEL

Соответствует следующим техникам [SOWEL](https://sowel.soxoj.com/):
- [SOTL-1.4. Analyze Internal Identifiers](https://sowel.soxoj.com/internal-identifiers)
- [SOTL-11.1. Check Outdated And Unused Functionality](https://sowel.soxoj.com/outdated-unused-functionality)

## Инструменты, использующие socid_extractor

- [**Maigret**](https://github.com/soxoj/maigret) — мощный namechecker, который формирует отчёт со всей доступной информацией из аккаунтов, найденных на более чем 3000 сайтах.
- [**TheScrapper**](https://github.com/champmq/TheScrapper) — собирает электронные письма, номера телефонов и аккаунты в социальных сетях с веб-сайта.
- [**InfoHunter**](https://github.com/sweetnight19/InfoHunter) — открытый OSINT-инструмент для поиска, сбора и анализа информации в интернете.
- [**YaSeeker**](https://github.com/HowToFind-bot/YaSeeker) — собирает всю доступную информацию об аккаунте Yandex по логину/email.
- [**Marple**](https://github.com/soxoj/marple) — собирает результаты поисковых систем по заданному имени пользователя.

## См. также

- [**ShareTrace**](https://github.com/soxoj/sharetrace) — зеркальное отражение этого проекта: `socid_extractor` читает страницу профиля, а ShareTrace берёт *ссылку для общего доступа* (TikTok, Instagram, ChatGPT, Discord, Telegram и другие) и восстанавливает, кто её создал или переслал, декодируя некоторые токены общего доступа офлайн. Ничего не нужно устанавливать, если вы просто хотите попробовать: [Telegram-бот](https://t.me/sharetrace_bot?start=c29jaWQtZXh0cmFjdG9yOnJlYWRtZQ), поддерживаемый сообществом, или [веб-интерфейс](https://share.whopostedwhat.com/).

## Тестирование

Установите дополнительные зависимости для тестирования из [`pyproject.toml`](https://github.com/soxoj/socid-extractor/blob/master/pyproject.toml), затем запустите pytest:

```sh
pip install '.[test]'   # pytest, pytest-rerunfailures, pytest-xdist
python3 -m pytest tests/test_e2e.py -n 10 -k 'not cookies' -m 'not github_failed and not rate_limited'
```

Используйте `pip install '.[dev]'`, если вам также нужны flake8 / mypy / black (полный набор, используемый в CI).

**Каждая новая схема должна иметь e2e-тест** в `tests/test_e2e.py`, обращающийся к реальному URL/API. Также требуются модульные тесты с встроенными фикстурами (`tests/test_socid_improvements.py`), но они не заменяют e2e-покрытие. Подробности см. в [docs/testing-and-ci.md](https://github.com/soxoj/socid-extractor/blob/master/docs/testing-and-ci.md).

Документация для разработчиков (архитектура, модули, CI) находится в [docs/](https://github.com/soxoj/socid-extractor/blob/master/docs).

## Участие в разработке

См. [руководство по участию](https://github.com/soxoj/socid-extractor/blob/master/CONTRIBUTING.md), если вы хотите добавить новую схему или что-то исправить.
Скачать инструмент