
socid-extractor v0.1.1
⛏️ Maigret के पीछे का निष्कर्षण इंजन: किसी भी प्रोफ़ाइल URL को 150+ साइटों पर एक संरचित OSINT रिकॉर्ड में बदलें
socid_extractor
किसी भी सार्वजनिक प्रोफ़ाइल पृष्ठ को एक संरचित खाता रिकॉर्ड में बदलें — उपयोगकर्ता नाम, प्रदर्शन नाम, बायो, अवतार, स्थान, जुड़ने की तिथियाँ, अनुयायी गणनाएँ, बाहरी लिंक और स्थिर आंतरिक पहचानकर्ता जो किसी खाते को नाम परिवर्तन, पुनर्रचना और विलोपन के बावजूद विशिष्ट रूप से पिन करते हैं।
socid_extractor 130+ प्लेटफ़ॉर्म से HTML पृष्ठों और API प्रतिक्रियाओं को पार्स करता है और खाता फ़ील्ड का एक सपाट, मशीन-पठनीय शब्दकोश लौटाता है। कोई API कुंजी आवश्यक नहीं, कोई हेडलेस ब्राउज़र नहीं — बस प्रतिक्रिया टेक्स्ट पर एक एकल फ़ंक्शन कॉल।
यह क्यों उपयोगी है
- स्थिर क्रॉस-सेवा आईडी. GAIA ID (Google), Facebook UID, Yandex Public ID, Instagram pk, और दर्जनों अन्य प्राप्त करें — ऐसे मान जो उपयोगकर्ता नाम परिवर्तनों से बचे रहते हैं और आपको लीक, आर्काइव और सर्च इंजन इंडेक्स में खातों को सहसंबंधित करने देते हैं।
- एक समान इंटरफ़ेस. Instagram, GitHub, VK, Reddit, Substack, Bluesky, TikTok के लिए एक ही
extract()कॉल — आपकी ओर से प्रति-प्लेटफ़ॉर्म ग्लू कोड की कोई ज़रूरत नहीं। - फ़ील्ड ओन्टोलॉजी. प्लेटफ़ॉर्म भर में सामान्यीकृत फ़ील्ड नाम (
username,fullname,created_at,is_verified, …) ताकि डाउनस्ट्रीम पाइपलाइनों को 130 मैपिंग की ज़रूरत न पड़े। - युद्ध-परीक्षित. Maigret और कई अन्य OSINT टूल्स को शक्ति प्रदान करता है।
स्थापना
Python: 3.10+.
pip install socid-extractor
वर्कस्टेशन पर स्वच्छ CLI स्थापना के लिए:
pipx install socid-extractor
नवीनतम विकास संस्करण:
pip install -U git+https://github.com/soxoj/socid-extractor.git
त्वरित आरंभ
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...
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', ...]"}
टिप — बैच रन: HTTP अनुरोध तब छोड़ने के लिए --skip-fetch-if-no-url-hint पास करें जब URL किसी ज्ञात साइट संकेत से मेल नहीं खाता (तेज़, लेकिन सामान्य इंजन जैसे फ़ोरम टेम्पलेट को छोड़ सकता है):
$ socid_extractor --url https://example.com/foo --skip-fetch-if-no-url-hint
समर्थित साइटें
130+ योजनाएँ — पूर्ण सूची के लिए METHODS.md देखें।
एक गैर-व्यापक नमूना:
- प्रमुख नेटवर्क: Facebook (उपयोगकर्ता और समूह पृष्ठ), Instagram, VK.com, OK.ru, Reddit, TikTok, Bluesky, Tumblr, Flickr
- Google इकोसिस्टम: Google docs/maps योगदान (कुकीज़ आवश्यक), Google Play, YouTube
- Mail.ru: my.mail.ru उपयोगकर्ता मुखपृष्ठ, फ़ोटो, वीडियो
- Dev / लेखन प्लेटफ़ॉर्म: 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 देखें; पार्सिंग तर्क के लिए, socid_extractor/schemes.py देखें; फ़ील्ड ओन्टोलॉजी के लिए, FIELDS.md देखें।
उपयोग के मामले
- प्रोफ़ाइल से आप जो कुछ भी देख सकते हैं उस पर पिवट करें। एक कॉल दृश्य जानकारी और प्लेटफ़ॉर्म द्वारा पर्दे के पीछे उपयोग किए जाने वाले छिपे हुए आंतरिक आईडी दोनों लौटाता है। पृष्ठभूमि पढ़ना: Week in OSINT — Getting a grasp on Google IDs।
- नाम परिवर्तन, पुनर्रचना और विलोपन पर खातों को ट्रैक करें। स्थिर आईडी (GAIA, FB UID, Yandex Public ID, Instagram pk, …) आपको उसी व्यक्ति को फिर से पहचानने देती हैं जब हर दृश्य फ़ील्ड बदल गई हो। पृष्ठभूमि: Aware Online — User IDs in social-media investigations।
- क्रॉस-सेवा UID द्वारा खोजें। एक बार जब आपके पास स्थिर पहचानकर्ता हो, तो आप इसमें पिवट कर सकते हैं:
- SQL / लीक डेटाबेस (फ़ोरम डंप, उल्लंघन डेटा) जहाँ UID जॉइन कुंजी है,
- Google / Yandex / archive.org इंडेक्स जिन्होंने UID वाले URL कैप्चर किए हैं।
- डाउनस्ट्रीम OSINT टूलिंग को फ़ीड करें। एक सामान्यीकृत रिकॉर्ड प्रति-साइट स्क्रैपर्स की तुलना में अंतर्ग्रहण करना बहुत आसान है — Maigret और समान टूल द्वारा संवर्धन के लिए उपयोग किया जाता है।
व्यावसायिक उपयोग
ओपन-सोर्स socid_extractor MIT-लाइसेंस प्राप्त है और बिना किसी प्रतिबंध के व्यावसायिक उपयोग के लिए स्वतंत्र है — लेकिन पृष्ठ पार्सर समय के साथ टूट जाते हैं क्योंकि प्लेटफ़ॉर्म अपने HTML और API बदलते हैं, और उन्हें सक्रिय रखरखाव की आवश्यकता होती है।
गंभीर व्यावसायिक उपयोग के लिए — अतिरिक्त पार्सर के रखरखाव युक्त निजी प्लगइन पैक या होस्टेड निष्कर्षण API के साथ — संपर्क करें: 📧 [email protected]
- निजी पार्सर प्लगइन — सार्वजनिक 150+ साइटों के शीर्ष पर 100+ अतिरिक्त जाँचें, प्लेटफ़ॉर्म बदलने पर अद्यतित रखी गईं (सार्वजनिक ओपन-सोर्स डेटाबेस से अलग)
- निष्कर्षण API —
socid_extractorको अपने उत्पाद में एकीकृत करें
SOWEL वर्गीकरण
निम्नलिखित SOWEL तकनीकों से मेल खाता है:
- SOTL-1.4. आंतरिक पहचानकर्ताओं का विश्लेषण करें
- SOTL-11.1. पुरानी और अप्रयुक्त कार्यक्षमता की जाँच करें
socid_extractor का उपयोग करने वाले उपकरण
- Maigret — शक्तिशाली नाम-जाँचकर्ता जो 3000+ साइटों पर पाए गए खातों से सभी उपलब्ध जानकारी के साथ एक रिपोर्ट उत्पन्न करता है।
- TheScrapper — वेबसाइट से ईमेल, फ़ोन नंबर और सोशल-मीडिया खाते स्क्रैप करें।
- InfoHunter — ऑनलाइन जानकारी खोजने, एकत्र करने और विश्लेषण करने के लिए ओपन-सोर्स OSINT उपकरण।
- YaSeeker — लॉगिन/ईमेल द्वारा Yandex खाते के बारे में सभी उपलब्ध जानकारी एकत्र करें।
- Marple — दिए गए उपयोगकर्ता नाम के लिए खोज-इंजन परिणाम स्क्रैप करें।
परीक्षण
pyproject.toml से परीक्षण अतिरिक्त स्थापित करें, फिर pytest चलाएँ:
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 द्वारा उपयोग किया गया पूरा सेट) भी चाहते हैं।
प्रत्येक नई योजना का tests/test_e2e.py में एक e2e परीक्षण होना चाहिए जो वास्तविक URL/API को हिट करता हो। इनलाइन फ़िक्स्चर वाले यूनिट परीक्षण (tests/test_socid_improvements.py) भी आवश्यक हैं लेकिन e2e कवरेज को प्रतिस्थापित नहीं करते। विवरण के लिए docs/testing-and-ci.md देखें।
डेवलपर दस्तावेज़ीकरण (आर्किटेक्चर, मॉड्यूल, CI) docs/ में है।
योगदान
यदि आप कोई नई योजना जोड़ना या कुछ ठीक करना चाहते हैं, तो योगदान गाइड देखें।