Python से expired domain hunting ऑटोमेट करें
Peter Nagy द्वारा प्रकाशित · AI की मदद से · 8 अगस्त 2026 · 5 मिनट पढ़ने का समय
Automated expired domain hunting का मतलब है मैन्युअल लिस्ट रिफ्रेश करने की जगह Python स्क्रिप्ट लगाना जो ड्रॉप लिस्ट से डेटा ले, मेट्रिक्स के हिसाब से फ़िल्टर करे और आपको अलर्ट भेजे। इसमें requests, BeautifulSoup और एक cron job काफी है। ये कोई फैंसी चीज़ नहीं, लेकिन घंटों का काम मिनटों में कर देती है। और अगर कोई बेकार डोमेन मिल जाए, तो उसे बाद में दफनाया जा सकता है।
Automated expired domain hunting क्या करता है?
ये एक बोरिंग और रिपीटिटिव काम को सेट-एंड-फॉरगेट स्क्रिप्ट में बदल देता है। आप Python कोड लिखते हैं जो पब्लिक सोर्स से expired domain लिस्ट लाता है, हर नाम को आपके नियमों से जांचता है और मैच मिलने पर मैसेज भेजता है। अब 3 AM को जगकर ये देखने की ज़रूरत नहीं कि वो 4-लेटर .io ड्रॉप हुआ या नहीं।
कोर लूप सिंपल है: fetch, filter, alert। आप इसे सस्ते VPS या अपनी मशीन पर cron job के साथ चला सकते हैं। पूरा सिस्टम एक दोपहर में बनाया जा सकता है, भले ही आप प्रोफेशनल डेवलपर न हों।
स्क्रिप्ट लिखने से पहले क्या चाहिए?
कुछ बेसिक चीज़ें। Python 3.8 या उससे नया वर्जन इंस्टॉल होना चाहिए, साथ ही एक टेक्स्ट एडिटर। आपको WhoisXMLAPI या RDAP जैसी डोमेन API सर्विस पर फ्री अकाउंट भी चाहिए, ताकि रजिस्ट्रेशन डेट चेक कर सकें। इस स्टेप पर खर्च जीरो है, जब तक कि ज़्यादा रेट लिमिट न चाहिए।
एक साफ फ़िल्टर भी ज़रूरी है। तय करें कि आप क्या ढूंढ रहे हैं: शब्दों की संख्या, लंबाई, एक्सटेंशन, बैकलिंक्स, या कोई खास निच। कोड लिखने से पहले इसे लिख लें, वरना स्क्रिप्ट हर बेकार डोमेन का अलर्ट भेजने लगेगी।
Step 1: Expired domain लिस्ट कैसे लाएं?
पब्लिक ड्रॉप लिस्ट से शुरू करें। ExpiredDomains.net और NameJet जैसी साइटें रोज़ाना लिस्ट पब्लिश करती हैं, हालांकि इन्हें स्क्रैप करना हमेशा आसान नहीं होता। requests और BeautifulSoup का इस्तेमाल करके HTML पार्स करें और टेबल रो निकालें।
import requests
from bs4 import BeautifulSoup
url = "https://www.expireddomains.net/expired-domains/"
headers = {"User-Agent": "Mozilla/5.0"}
response = requests.get(url, headers=headers)
soup = BeautifulSoup(response.text, "html.parser")
इससे आपको रॉ पेज मिल जाएगा। फिर टेबल से डोमेन नाम निकालें। ज़्यादातर लिस्ट की स्ट्रक्चर एक जैसी होती है, इसलिए कुछ find_all कॉल्स से काम चल जाएगा। रेट लिमिट का ध्यान रखें, वरना ब्लॉक हो सकते हैं।
Step 2: Python से डोमेन कैसे फ़िल्टर करें?
फ़िल्टर ही असली जादू है। एक फंक्शन लिखें जो डोमेन ले और आपके नियमों के आधार पर True या False लौटाए। मिसाल के तौर पर, आपको सिर्फ .com डोमेन चाहिए जिनमें ठीक 6 अक्षर हों और कोई हाइफ़न न हो।
def is_worth_checking(domain):
name, ext = domain.split(".")
return ext == "com" and len(name) == 6 and "-" not in name
आप कीवर्ड लिस्ट से भी फ़िल्टर कर सकते हैं। अगर फिटनेस डोमेन ढूंढ रहे हैं, तो रिलेवेंट शब्दों की लिस्ट बनाएं और देखें कि कोई शब्द मौजूद है या नहीं। जटिल पैटर्न के लिए re का इस्तेमाल करें।
Step 3: डोमेन की उपलब्धता और मेट्रिक्स कैसे चेक करें?
फ़िल्टर्ड लिस्ट मिलने के बाद, ये पता करना होता है कि डोमेन वाकई एक्सपायर हो रहा है या नहीं। इसके लिए RDAP का इस्तेमाल करें। rdap लाइब्रेरी से ये आसान हो जाता है।
import rdap
def check_status(domain):
data = rdap.query(domain)
return data.get("status", [])
अगर स्टेटस में "pending delete" या "redemption period" है, तो डोमेन एक्सपायर होने वाला है। बैकलिंक्स चेक करने के लिए Open PageRank जैसी फ्री API का इस्तेमाल कर सकते हैं, लेकिन इसके लिए API key चाहिए। चेक को हल्का रखें, वरना बहुत सारे रिक्वेस्ट से स्पीड कम हो जाएगी।
Step 4: स्क्रिप्ट को ऑटोमैटिक कैसे शेड्यूल करें?
Linux पर cron और Windows पर Task Scheduler का इस्तेमाल करें। दिन में एक बार या हॉट ड्रॉप के हिसाब से हर कुछ घंटों में स्क्रिप्ट चलाएं। एक सिंपल cron लाइन ऐसी दिखती है:
0 6 * * * cd /path/to/script && python3 hunt.py
ये हर सुबह 6 बजे स्क्रिप्ट चलाएगा। रिजल्ट डेली रश से पहले मिल जाएंगे। चाहें तो schedule लाइब्रेरी का भी इस्तेमाल कर सकते हैं, ताकि सब कुछ Python में ही रहे।
Step 5: मैच मिलने पर अलर्ट कैसे पाएं?
ईमेल, Telegram या Slack। सबसे आसान है Telegram, क्योंकि एक POST रिक्वेस्ट से मैसेज भेजा जा सकता है। एक बॉट बनाएं, chat ID लें और requests.post से मैसेज भेजें जब फ़िल्टर को कुछ मिले।
import requests
def send_alert(domain):
token = "YOUR_BOT_TOKEN"
chat_id = "YOUR_CHAT_ID"
text = f"Found: {domain}"
url = f"https://api.telegram.org/bot{token}/sendMessage"
requests.post(url, data={"chat_id": chat_id, "text": text})
अब आपको फोन पर पिंग मिलेगा, बिना स्क्रिप्ट को छुए। बस बॉट टोकन प्राइवेट रखना न भूलें।
Step 6: रिजल्ट को कैसे हैंडल करें और क्या खरीदें?
जब अलर्ट आए, तब भी मैन्युअल चेक करना ज़रूरी है। Namecheap या GoDaddy जैसे रजिस्ट्रार पर जाकर सही कीमत देखें और Wayback Machine पर हिस्टोरिकल कंटेंट चेक करें। हर एक्सपायर्ड डोमेन रजिस्ट्रेशन फीस के लायक नहीं होता।
अगर कोई डोमेन खरीद लिया और वो बेकार निकला, तो उसे एक डॉलर में दफनाया जा सकता है। ये छोड़ने का सस्ता तरीका है। और अगर प्रेरणा या सस्ता डोमेन ढूंढ रहे हैं, तो कब्रिस्तान में झांकें कि दूसरों ने क्या छोड़ा है।
ऑटोमेटेड हंटिंग में क्या गलत हो सकता है?
बहुत कुछ। वेबसाइट का HTML स्ट्रक्चर बदलने पर स्क्रिप्ट टूट सकती है। रेट-लिमिट या IP ब्लॉक हो सकता है। फ़िल्टर बहुत सख्त होने पर अच्छे नाम छूट सकते हैं, या ढीले होने पर जंक से भर सकते हैं।
साथ ही, डोमेन मार्केट तेज़ है। एक नाम जो फ्री लग रहा है, वो आपके cron job चलने से पहले ही किसी और ने रजिस्टर कर लिया। ये नॉर्मल है। रिट्री या वेट का इंतज़ाम रखें, और किसी एक डोमेन से जुड़ाव न रखें।
क्या वाकई ऑटोमेट करने की ज़रूरत है?
अगर हफ्ते में एक बार ड्रॉप चेक करते हैं, तो नहीं। लेकिन रोज़ाना लिस्ट रिफ्रेश करते हैं, तो स्क्रिप्ट घंटों बचाती है। साथ ही, अच्छा नाम आने पर तेज़ी से एक्शन ले सकते हैं। एक्सपायर्ड डोमेन हंटिंग में स्पीड मायने रखती है, क्योंकि अच्छे नाम मिनटों में गायब हो जाते हैं।
नुकसान ये है कि ऑटोमेशन से लग सकता है कि आप प्रोडक्टिव हैं, जबकि आप सिर्फ तेज़ी से फ़िल्टर कर रहे हैं। असली काम अब भी मैन्युअल रिव्यू में है।
आगे क्या करें?
छोटे से शुरू करें। एक सोर्स, एक फ़िल्टर और एक अलर्ट तरीका चुनें। पहले उसे काम करवाएं, फिर जटिलता बढ़ाएं। स्क्रिप्ट को परफेक्ट होने की ज़रूरत नहीं, बस चलनी चाहिए।
और अगर कोई डोमेन बेकार निकले, तो उसे सड़ने न दें। dead.domains पर दफनाएं और किसी और को दूसरा मौका दें। डिजिटल प्रॉपर्टी का ये चक्र है, और हैरतअंगेज़ तरीके से संतोषजनक भी।
dead.domains के कब्रिस्तान पर जाएं और देखें कि अब तक क्या-क्या दफनाया जा चुका है।
FAQ
क्या expired domain लिस्ट स्क्रैप करना कानूनी है?
हां, जब तक आप robots.txt और रेट लिमिट का सम्मान करें। पब्लिक लिस्ट देखने के लिए होती हैं, लेकिन बहुत तेज़ स्क्रैपिंग से ब्लॉक हो सकते हैं। उचित देरी और सही user-agent का इस्तेमाल करें। अगर साइट का पेड API है, तो कानूनी झंझट से बचने के लिए उसका इस्तेमाल करें।
HTML पार्स करने के लिए सबसे अच्छी Python लाइब्रेरी कौन सी है?
BeautifulSoup सबसे आम है क्योंकि ये सीखने में आसान और गंदे HTML के साथ अच्छा काम करता है। जटिल पार्सिंग के लिए lxml या Scrapy का इस्तेमाल कर सकते हैं। BeautifulSoup से शुरू करें और परफॉर्मेंस लिमिट लगने पर ही स्विच करें।
अपनी expired domain स्क्रिप्ट कितनी बार चलानी चाहिए?
ज़्यादातर निच के लिए दिन में एक बार काफी है। अगर हाई-वैल्यू ड्रॉप का पीछा कर रहे हैं, तो हर कुछ घंटों में चलाएं। ध्यान रखें कि ज़्यादा बार चलाने से रेट-लिमिट का खतरा बढ़ जाता है, इसलिए स्पीड और सुरक्षा में संतुलन रखें।
क्या पूरी खरीद प्रक्रिया को ऑटोमेट किया जा सकता है?
आंशिक रूप से। आप उपलब्धता चेक और बैकऑर्डरिंग ऑटोमेट कर सकते हैं, लेकिन असली रजिस्ट्रेशन के लिए आमतौर पर मैन्युअल कन्फर्मेशन चाहिए। कुछ रजिस्ट्रार ऑटोमेटेड खरीद के लिए API देते हैं, लेकिन उनमें अक्सर मिनिमम बैलेंस या अप्रूवल की ज़रूरत होती है। पूरी तरह से हाथ न लगाने वाली पाइपलाइन की उम्मीद न करें।
अगर मेरी स्क्रिप्ट काम करना बंद कर दे तो क्या करूं?
पहले वेबसाइट का HTML स्ट्रक्चर चेक करें। साइटें अक्सर लेआउट बदलती हैं, जिससे आपके सेलेक्टर टूट सकते हैं। स्क्रिप्ट में एरर हैंडलिंग डालें ताकि वो इश्यू लॉग करे और आपको अलर्ट करे। फिर सेलेक्टर अपडेट करें और दोबारा चलाएं। ये एक सामान्य मेंटेनेंस टास्क है।