प्रतिस्पर्धियों के डेटा का पार्सिंग मार्केटर्स, मार्केटप्लेस विक्रेताओं और एजेंसियों के लिए एक सामान्य प्रथा है। आप Wildberries पर कीमतों की निगरानी करते हैं, Avito से विज्ञापन एकत्र करते हैं, प्रतिस्पर्धियों की रेंज का विश्लेषण करते हैं। लेकिन अधिकांश वेबसाइटें सामूहिक अनुरोधों को अवरुद्ध करती हैं, और robots.txt फ़ाइल की अनदेखी करने से कानूनी समस्याएँ हो सकती हैं। इस लेख में, हम देखेंगे कि प्रॉक्सी का उपयोग नैतिक रूप से कैसे करें: वेबसाइटों के नियमों का पालन करें, अवरोधों से बचें और बिना किसी जोखिम के डेटा एकत्र करें।
robots.txt क्या है और यह वेबसाइटों के लिए क्यों आवश्यक है
robots.txt फ़ाइल एक टेक्स्ट दस्तावेज़ है जो वेबसाइट की जड़ में होता है, जो खोज रोबोटों और पार्सरों को बताता है कि कौन से अनुभागों को स्कैन किया जा सकता है और कौन से प्रतिबंधित हैं। उदाहरण के लिए, एक ऑनलाइन स्टोर अपनी टोकरी या व्यक्तिगत खाते की अनुक्रमण को रोक सकता है ताकि ये पृष्ठ Google में न आएं।
एक सामान्य robots.txt फ़ाइल इस प्रकार दिखती है:
User-agent: * Disallow: /admin/ Disallow: /cart/ Disallow: /api/ Crawl-delay: 10 User-agent: Googlebot Allow: / Sitemap: https://example.com/sitemap.xml
निर्देशों का विश्लेषण:
User-agent: *— सभी बॉट के लिए नियम (तारे का मतलब "कोई भी बॉट")Disallow: /admin/— /admin/ अनुभाग को स्कैन करने की अनुमति नहीं हैCrawl-delay: 10— अनुरोधों के बीच 10 सेकंड की देरीUser-agent: Googlebot— Google के लिए विशेष नियम (सभी की अनुमति है)
वेबसाइटें robots.txt का उपयोग क्यों करती हैं:
- सर्वर की ओवरलोडिंग से सुरक्षा — सामूहिक पार्सिंग सर्वर पर लोड डालती है, जिससे वास्तविक उपयोगकर्ताओं के लिए काम धीमा हो जाता है
- तकनीकी पृष्ठों को छिपाना — टोकरी, भुगतान फॉर्म, API एंडपॉइंट्स को अनुक्रमित नहीं किया जाना चाहिए
- व्यावसायिक डेटा की सुरक्षा — मार्केटप्लेस नहीं चाहते कि प्रतिस्पर्धी आसानी से अपने उत्पादों की पूरी सूची डाउनलोड करें
- ट्रैफ़िक की बचत — प्रत्येक बॉट का अनुरोध वेबसाइट के मालिक के लिए पैसे की कीमत रखता है
महत्वपूर्ण: robots.txt एक सिफारिश है, तकनीकी बाधा नहीं। फ़ाइल भौतिक रूप से पहुंच को अवरुद्ध नहीं करती है, लेकिन नियमों की अनदेखी करने से आपके IP को अवरुद्ध किया जा सकता है या मुकदमे का सामना करना पड़ सकता है (विशेष रूप से अमेरिका और यूरोप में)।
पार्सिंग के कानूनी जोखिम: कानून क्या कहता है
डेटा पार्सिंग कानून के ग्रे क्षेत्र में है। विभिन्न देशों में विभिन्न नियम लागू होते हैं, लेकिन कुछ सामान्य सिद्धांत हैं जिन्हें जानना महत्वपूर्ण है ताकि आप मुकदमे का सामना न करें।
रूस का कानून
रूस में पार्सिंग के लिए कोई विशेष कानून नहीं है, लेकिन सामान्य नियम लागू होते हैं:
- कॉपीराइट (ГК РФ, статья 1259) — बिना अधिकार धारक की अनुमति के अद्वितीय पाठ, फ़ोटो, उत्पाद विवरण की नकल नहीं की जा सकती। कीमतों और विशेषताओं का पार्सिंग आमतौर पर सुरक्षित होता है, क्योंकि ये वास्तविक डेटा होते हैं।
- व्यक्तिगत डेटा (152-ФЗ) — उपयोगकर्ताओं के व्यक्तिगत डेटा (नाम, फोन, ईमेल) को बिना सहमति के एकत्र करना प्रतिबंधित है। यह सोशल मीडिया प्रोफाइल या संपर्क डेटाबेस के पार्सिंग पर लागू होता है।
- असत्य प्रतिस्पर्धा (статья 14.33 КоАП РФ) — यदि पार्सिंग का उपयोग व्यावसायिक मॉडल की नकल करने या ग्राहकों को भ्रमित करने के लिए किया जाता है, तो 500,000 रूबल तक का जुर्माना हो सकता है।
अमेरिका और यूरोप का कानून
अमेरिका और यूरोपीय संघ में कानून अधिक सख्त हैं:
- CFAA (Computer Fraud and Abuse Act, USA) — कंप्यूटर सिस्टमों तक अनधिकृत पहुंच एक अपराध माना जाता है। robots.txt का उल्लंघन "अनधिकृत पहुंच" के रूप में व्याख्यायित किया जा सकता है। एक प्रसिद्ध मामला: LinkedIn बनाम hiQ Labs (2022) — अदालत ने फैसला सुनाया कि सार्वजनिक डेटा का पार्सिंग कानूनी है, लेकिन तकनीकी बाधाओं (जैसे कैप्चा) की अनदेखी करना नहीं है।
- GDPR (General Data Protection Regulation, EU) — बिना स्पष्ट सहमति के EU के नागरिकों के व्यक्तिगत डेटा का संग्रह प्रतिबंधित है। जुर्माना 20 मिलियन यूरो तक या कंपनी के वार्षिक कारोबार का 4% हो सकता है।
- Terms of Service (उपयोगकर्ता समझौते) — कई वेबसाइटें अपने नियमों में पार्सिंग को स्पष्ट रूप से प्रतिबंधित करती हैं। उल्लंघन से breach of contract (अनुबंध का उल्लंघन) के लिए मुकदमा हो सकता है।
व्यावहारिक सलाह: पार्सिंग से पहले तीन दस्तावेज़ों की जांच करें: लक्षित वेबसाइट का robots.txt, Terms of Service और Privacy Policy। यदि पार्सिंग स्पष्ट रूप से प्रतिबंधित है — डेटा के वैकल्पिक स्रोतों की तलाश करें (सार्वजनिक API, साझेदारी कार्यक्रम, तैयार डेटासेट)।
क्या सुरक्षित है पार्स करना
| डेटा का प्रकार | जोखिम | टिप्पणी |
|---|---|---|
| उत्पादों की कीमतें | कम | वास्तविक डेटा, कॉपीराइट से सुरक्षित नहीं |
| उत्पादों की विशेषताएँ | कम | तकनीकी डेटा सुरक्षित है |
| विशिष्ट विवरण | उच्च | कॉपीराइट से सुरक्षित |
| उत्पादों की तस्वीरें | उच्च | अधिकार धारक की अनुमति आवश्यक है |
| उपयोगकर्ताओं के संपर्क | आवश्यक | 152-ФЗ और GDPR का उल्लंघन |
| सार्वजनिक आंकड़े | कम | खुले डेटा सुरक्षित हैं |
नैतिक पार्सिंग: बिना उल्लंघन के डेटा कैसे एकत्र करें
नैतिक पार्सिंग व्यवसायिक लक्ष्यों और वेबसाइट मालिकों के प्रति सम्मान के बीच संतुलन है। आप आवश्यक डेटा एकत्र कर सकते हैं, बिना लक्षित संसाधन को समस्याएँ उत्पन्न किए और कानूनों का उल्लंघन किए।
नैतिक पार्सिंग के मुख्य सिद्धांत
- robots.txt का पालन करें — यदि अनुभाग पार्सिंग के लिए प्रतिबंधित है, तो इसे बायपास करने का प्रयास न करें। डेटा के वैकल्पिक स्रोतों की तलाश करें।
- अनुरोधों की गति को सीमित करें — प्रति सेकंड 1000 अनुरोध न भेजें। सर्वर को ओवरलोड न करने के लिए अनुरोधों के बीच 2-10 सेकंड की देरी करें।
- अपने पार्सर का User-Agent उपयोग करें — सामान्य उपयोगकर्ता के रूप में छिपें नहीं। एक ईमानदार User-Agent निर्दिष्ट करें, जैसे: "MyCompanyParser/1.0 (contact@mycompany.com)"। यह वेबसाइट के प्रशासकों को आपसे संपर्क करने की अनुमति देता है यदि कोई समस्या उत्पन्न होती है।
- केवल सार्वजनिक डेटा पार्स करें — बंद अनुभागों, API या डेटाबेस तक पहुंच प्राप्त करने का प्रयास न करें।
- नकल किए गए डेटा को पुनर्विक्रय न करें — एकत्रित जानकारी का उपयोग आंतरिक आवश्यकताओं (प्रतिस्पर्धियों का विश्लेषण, कीमतों की निगरानी) के लिए करें, न कि प्रतिस्पर्धी सेवा बनाने के लिए।
- डेटा को कैश करें — एक ही पृष्ठ को कई बार न पूछें। परिणामों को स्थानीय रूप से सहेजें और उन्हें एक कार्यक्रम के अनुसार अपडेट करें (दिन में एक बार, सप्ताह में एक बार)।
कब पार्सिंग नहीं करनी चाहिए
कुछ स्थितियाँ हैं जब पार्सिंग अधिक समस्याएँ उत्पन्न करती है, बजाय इसके कि लाभ:
- वेबसाइट API प्रदान करती है — कई मार्केटप्लेस (Wildberries, Ozon, यांडेक्स.मार्केट) के पास साझेदारों के लिए आधिकारिक API हैं। पार्सिंग के बजाय उनका उपयोग करें — यह तेज, कानूनी और विश्वसनीय है।
- डेटा कैप्चा या प्रमाणीकरण द्वारा सुरक्षित है — सुरक्षा को बायपास करना सिस्टम हैकिंग के रूप में माना जा सकता है।
- वेबसाइट Terms of Service में पार्सिंग को स्पष्ट रूप से प्रतिबंधित करती है — मुकदमे का जोखिम बहुत अधिक है।
- आप व्यक्तिगत डेटा एकत्र कर रहे हैं — यह GDPR और 152-ФЗ का उल्लंघन है, जिसमें भारी जुर्माना हो सकता है।
robots.txt को सही तरीके से कैसे पढ़ें और उसका पालन करें
robots.txt फ़ाइल डोमेन की जड़ में होती है: https://example.com/robots.txt. पार्सिंग शुरू करने से पहले हमेशा इस फ़ाइल की जांच करें।
robots.txt के मुख्य निर्देश
| निर्देश | अर्थ | उदाहरण |
|---|---|---|
User-agent |
किस बॉट के लिए नियम लागू होते हैं | User-agent: * (सभी बॉट) |
Disallow |
पार्सिंग के लिए प्रतिबंधित अनुभाग | Disallow: /admin/ |
Allow |
अनुमत अनुभाग (Disallow का अपवाद) | Allow: /public/ |
Crawl-delay |
अनुरोधों के बीच न्यूनतम देरी (सेकंड में) | Crawl-delay: 10 |
Sitemap |
साइटमैप का लिंक (सभी पृष्ठों की सूची) | Sitemap: /sitemap.xml |
robots.txt के उदाहरण और उन्हें कैसे व्याख्या करें
उदाहरण 1: पार्सिंग पर पूर्ण प्रतिबंध
User-agent: * Disallow: /
इसका अर्थ है: "सभी बॉट्स को पूरे साइट को स्कैन करने की अनुमति नहीं है"। ऐसी वेबसाइट का पार्सिंग मालिक के नियमों का उल्लंघन है। डेटा के वैकल्पिक स्रोतों की तलाश करें।
उदाहरण 2: चयनात्मक सीमाएँ
User-agent: * Disallow: /admin/ Disallow: /api/ Disallow: /cart/ Allow: /products/ Crawl-delay: 5
इसका अर्थ है: "आप /products/ (उत्पाद) अनुभाग को पार्स कर सकते हैं, लेकिन /admin/, /api/ और /cart/ को प्रतिबंधित किया गया है। अनुरोधों के बीच 5 सेकंड की देरी करें"। ये सामान्य शर्तें हैं — आप उत्पादों को पार्स कर सकते हैं, सीमाओं का पालन करते हुए।
उदाहरण 3: विशिष्ट बॉट्स के लिए नियम
User-agent: Googlebot Allow: / User-agent: * Disallow: / Crawl-delay: 10
इसका अर्थ है: "Google को पूरे साइट को स्कैन करने की अनुमति है, लेकिन अन्य सभी बॉट्स को नहीं"। यदि आप Google नहीं हैं, तो पार्सिंग प्रतिबंधित है।
पार्सिंग से पहले robots.txt की जांच कैसे करें
अधिकांश प्रोग्रामिंग भाषाओं में robots.txt की स्वचालित जांच के लिए पुस्तकालय होते हैं। Python में उदाहरण:
from urllib.robotparser import RobotFileParser
rp = RobotFileParser()
rp.set_url("https://example.com/robots.txt")
rp.read()
# जांचें कि क्या पृष्ठ को पार्स करना संभव है
url = "https://example.com/products/item123"
user_agent = "MyParser/1.0"
if rp.can_fetch(user_agent, url):
print("पार्सिंग की अनुमति है")
else:
print("robots.txt द्वारा पार्सिंग प्रतिबंधित है")
यह स्वचालित रूप से नियमों की जांच करेगा और बताएगा कि क्या किसी विशेष URL को पार्स करना संभव है।
Rate Limiting और अनुरोधों के बीच देरी
Rate Limiting (अनुरोधों की गति को सीमित करना) वेबसाइटों को ओवरलोडिंग से बचाने के लिए है। यदि आप बहुत अधिक अनुरोध एक छोटे समय में भेजते हैं, तो सर्वर आपके IP को अवरुद्ध कर सकता है या कैप्चा दिखा सकता है।
देरी का पालन करना क्यों महत्वपूर्ण है
- IP अवरोध से बचें — वेबसाइटें एक IP से अनुरोधों की आवृत्ति को ट्रैक करती हैं। यदि आप प्रति मिनट 100 अनुरोध भेजते हैं, तो आपको बॉट के रूप में अवरुद्ध किया जाएगा।
- सर्वर पर लोड को कम करें — सामूहिक पार्सिंग वेबसाइट को "डाउन" कर सकती है, विशेष रूप से यदि यह एक छोटा संसाधन हो जो सस्ते होस्टिंग पर हो।
- robots.txt में Crawl-delay का पालन करें — यदि वेबसाइट ने 10 सेकंड की देरी निर्दिष्ट की है, तो इस नियम की अनदेखी करना नैतिक नहीं है।
- अधिक प्राकृतिक व्यवहार — सामान्य उपयोगकर्ता प्रति सेकंड 10 पृष्ठ नहीं खोलते हैं। देरी आपके पार्सर को एक वास्तविक व्यक्ति के समान बनाती है।
विभिन्न कार्यों के लिए अनुशंसित देरी
| पार्सिंग का प्रकार | अनुरोधों के बीच देरी | टिप्पणी |
|---|---|---|
| छोटी वेबसाइट (1000 पृष्ठों तक) | 5-10 सेकंड | सर्वर की कम शक्ति |
| मध्यम वेबसाइट (ऑनलाइन स्टोर) | 2-5 सेकंड | अनुकूल संतुलन |
| बड़ा मार्केटप्लेस (Wildberries, Ozon) | 1-3 सेकंड | शक्तिशाली बुनियादी ढाँचा, लेकिन मजबूत सुरक्षा |
| API एंडपॉइंट्स | API की सीमाओं के अनुसार (आमतौर पर 10-100 अनुरोध/मिनट) | API दस्तावेज़ देखें |
| सोशल मीडिया (Instagram, VK) | 10-30 सेकंड | बहुत सख्त सीमाएँ, बैन का उच्च जोखिम |
कोड में देरी कैसे लागू करें
Python में time पुस्तकालय का उपयोग करते हुए एक उदाहरण:
import time
import requests
urls = [
"https://example.com/product1",
"https://example.com/product2",
"https://example.com/product3"
]
for url in urls:
response = requests.get(url)
print(f"पार्स किया: {url}")
# अगले अनुरोध से पहले 3 सेकंड की देरी
time.sleep(3)
अधिक जटिल परिदृश्यों के लिए, यादृच्छिक देरी (random delay) का उपयोग करें, ताकि व्यवहार और भी अधिक प्राकृतिक हो:
import time
import random
for url in urls:
response = requests.get(url)
# 2 से 5 सेकंड के बीच यादृच्छिक देरी
delay = random.uniform(2, 5)
time.sleep(delay)
नैतिक पार्सिंग के लिए प्रॉक्सी रोटेशन
भले ही आप robots.txt का पालन करें और देरी करें, एक IP से बड़े पैमाने पर डेटा पार्सिंग संदेह उत्पन्न कर सकती है। प्रॉक्सी रोटेशन विभिन्न IP पतों के बीच अनुरोधों को वितरित करने में मदद करता है, जिससे कई वास्तविक उपयोगकर्ताओं के व्यवहार की नकल होती है।
प्रॉक्सी रोटेशन की आवश्यकता क्यों है
- Rate Limiting को बायपास करना — यदि एक IP से 100 अनुरोध/घंटा की सीमा है, तो 10 प्रॉक्सी आपको 1000 अनुरोध/घंटा देगी।
- भौगोलिक वितरण — क्षेत्रीय डेटा (मॉस्को और व्लादिवोस्तोक में Wildberries की कीमतें) के लिए विभिन्न शहरों से प्रॉक्सी की आवश्यकता होती है।
- संदेह को कम करना — विभिन्न IP से अनुरोध वास्तविक उपयोगकर्ताओं के ट्रैफ़िक के रूप में दिखाई देते हैं।
- आरक्षित करना — यदि एक प्रॉक्सी अवरुद्ध हो जाती है, तो पार्सर स्वचालित रूप से दूसरे पर स्विच करता है।
नैतिक पार्सिंग के लिए कौन सी प्रॉक्सी का उपयोग करें
| प्रॉक्सी का प्रकार | फायदे | नुकसान | कब उपयोग करें |
|---|---|---|---|
| रिहायशी | वास्तविक घरेलू उपयोगकर्ताओं के IP, बैन का कम जोखिम | अन्य प्रकारों की तुलना में महंगा | सोशल मीडिया, मजबूत सुरक्षा वाले मार्केटप्लेस का पार्सिंग |
| मोबाइल | मोबाइल ऑपरेटरों के IP, अधिकतम विश्वास | सबसे महंगे, उपलब्ध IP की संख्या कम | Instagram, TikTok, मोबाइल ऐप का पार्सिंग |
| डेटा सेंटर | सस्ते, उच्च गति | आसानी से पहचान लिए जाते हैं, अक्सर काले सूचियों में होते हैं | सरल वेबसाइटों का पार्सिंग, परीक्षण |
नैतिक पार्सिंग के लिए सिफारिश: रिहायशी प्रॉक्सी का उपयोग करें जिनमें स्वचालित रोटेशन हो। ये लागत और विश्वसनीयता के बीच संतुलन प्रदान करते हैं, और उनके IP सामान्य उपयोगकर्ताओं के रूप में दिखाई देते हैं।
प्रॉक्सी रोटेशन की रणनीतियाँ
- प्रत्येक अनुरोध पर रोटेशन — प्रत्येक अनुरोध एक नए IP से किया जाता है। यह सख्त सीमाओं वाली वेबसाइटों (सोशल मीडिया, मार्केटप्लेस) के लिए उपयुक्त है।
- समय के अनुसार रोटेशन (हर 5-10 मिनट) — एक IP कई अनुरोधों के लिए उपयोग किया जाता है, फिर बदलता है। अधिक प्राकृतिक व्यवहार।
- स्टिकी सत्र (Sticky sessions) — एक IP उपयोगकर्ता के पूरे सत्र के लिए उपयोग किया जाता है (जैसे, प्रमाणीकरण + व्यक्तिगत खाते का पार्सिंग)। यह प्रमाणीकरण वाली वेबसाइटों के लिए अनिवार्य है।
- भौगोलिक रोटेशन — प्रत्येक क्षेत्र के लिए उस क्षेत्र से प्रॉक्सी का उपयोग किया जाता है। उदाहरण: Wildberries में कीमतों का पार्सिंग मॉस्को के लिए — मॉस्को से प्रॉक्सी।
Python में प्रॉक्सी रोटेशन का उदाहरण
import requests
import random
import time
# प्रॉक्सी की सूची (वास्तविक IP से बदलें)
proxies_list = [
{"http": "http://user:pass@proxy1.example.com:8080"},
{"http": "http://user:pass@proxy2.example.com:8080"},
{"http": "http://user:pass@proxy3.example.com:8080"}
]
urls = [
"https://example.com/product1",
"https://example.com/product2",
"https://example.com/product3"
]
for url in urls:
# यादृच्छिक प्रॉक्सी चुनें
proxy = random.choice(proxies_list)
try:
response = requests.get(url, proxies=proxy, timeout=10)
print(f"{url} को {proxy} के माध्यम से पार्स किया")
except Exception as e:
print(f"प्रॉक्सी {proxy} के साथ त्रुटि: {e}")
# 3 सेकंड की देरी
time.sleep(3)
व्यावहारिक मामले: मार्केटप्लेस और प्रतिस्पर्धियों का पार्सिंग
व्यवसाय के लिए नैतिक पार्सिंग के वास्तविक परिदृश्यों पर विचार करते हैं।
केस 1: Wildberries पर कीमतों की निगरानी
कार्य: आप Wildberries पर उत्पाद बेचते हैं और प्रतिस्पर्धियों की कीमतों की निगरानी करना चाहते हैं ताकि आप अपनी कीमतों को समायोजित कर सकें।
समस्याएँ:
- Wildberries बार-बार अनुरोधों पर IP को अवरुद्ध करता है
- कीमतें डिलीवरी क्षेत्र पर निर्भर करती हैं
- हर दिन 100-500 उत्पादों का पार्सिंग करना आवश्यक है
नैतिक समाधान:
- robots.txt की जांच करें — Wildberries उत्पाद पृष्ठों के पार्सिंग की अनुमति देता है, लेकिन API एंडपॉइंट्स को प्रतिबंधित करता है।
- रिहायशी प्रॉक्सी का उपयोग करें — प्रत्येक क्षेत्र (मॉस्को, सेंट पीटर्सबर्ग, नोवोसिबिर्स्क) के लिए उस क्षेत्र से प्रॉक्सी लें।
- प्रत्येक अनुरोध पर रोटेशन — प्रत्येक उत्पाद को नए IP से पार्स करें।
- 2-3 सेकंड की देरी — अनुरोधों के बीच एक विराम दें।
- दिन में एक बार पार्स करें — हर घंटे कीमतें अपडेट न करें, दैनिक निगरानी पर्याप्त है।
परिणाम: आप प्रतिस्पर्धियों की वर्तमान कीमतें बिना अवरोधों के प्राप्त करते हैं। Wildberries असामान्य लोड नहीं देखता है, क्योंकि अनुरोध समय और IP के अनुसार वितरित होते हैं।
केस 2: Avito पर विज्ञापनों का पार्सिंग
कार्य: आप एक रियल एस्टेट एजेंट हैं और अपने शहर में अपार्टमेंट की बिक्री के सभी विज्ञापनों को एकत्र करना चाहते हैं ताकि बाजार का विश्लेषण किया जा सके।
समस्याएँ:
- Avito संदिग्ध गतिविधि पर कैप्चा दिखाता है
- 5000+ विज्ञापनों का पार्सिंग करना आवश्यक है
- डेटा हर दिन अपडेट होता है
नैतिक समाधान:
- robots.txt की जांच करें — Avito विज्ञापन पृष्ठों के पार्सिंग की अनुमति देता है, लेकिन Crawl-delay: 5 सेकंड के साथ।
- रिहायशी प्रॉक्सी का उपयोग करें — हर 10 अनुरोधों के बाद रोटेशन (प्रत्येक अनुरोध पर नहीं, ताकि संदेहास्पद न दिखें)।
- 5-7 सेकंड की देरी — robots.txt से Crawl-delay का पालन करें।
- रात के समय पार्स करें — जब वेबसाइट पर लोड न्यूनतम हो (सुबह 2-6 बजे)।
- डेटा को कैश करें — एक ही विज्ञापन को दो बार पार्स न करें, परिणामों को डेटाबेस में सहेजें।
परिणाम: रात भर में आप सभी नए विज्ञापनों को बिना कैप्चा और अवरोधों के एकत्र करते हैं। Avito पर कोई ओवरलोड नहीं होती, आप आवश्यक डेटा प्राप्त करते हैं।
केस 3: प्रतिस्पर्धी की रेंज का विश्लेषण
कार्य: आप एक इलेक्ट्रॉनिक्स ऑनलाइन स्टोर के मालिक हैं और जानना चाहते हैं कि प्रतिस्पर्धी के पास कौन से नए उत्पाद आए हैं।
समस्याएँ:
- प्रतिस्पर्धी की वेबसाइट एक सुरक्षित होस्टिंग पर है जिसमें एंटी-बॉट सिस्टम है
- 10,000 उत्पादों की सूची का पार्सिंग करना आवश्यक है
- आप इसे साप्ताहिक रूप से करना चाहते हैं
नैतिक समाधान:
- robots.txt की जांच करें — /catalog/ का पार्सिंग अनुमत है, /admin/ और /api/ को प्रतिबंधित किया गया है।
- Sitemap का उपयोग करें — सभी पृष्ठों को मैन्युअल रूप से पार्स करने के बजाय, sitemap.xml से URL की सूची लें (यह तेज है और अतिरिक्त लोड नहीं बनाता)।
- रिहायशी प्रॉक्सी के साथ हर 5 मिनट में रोटेशन — एक IP 20-30 अनुरोध करता है, फिर बदलता है।
- 3-5 सेकंड की देरी — सामान्य उपयोगकर्ता के व्यवहार की नकल करें।
- केवल नए उत्पादों का पार्स करें — वर्तमान सूची की तुलना पिछले से करें और केवल परिवर्तनों का पार्सिंग करें।
परिणाम: आप साप्ताहिक रूप से प्रतिस्पर्धी के नए उत्पादों की सूची प्राप्त करते हैं बिना अवरोधों के। प्रतिस्पर्धी की वेबसाइट को कोई समस्या नहीं होती, आप प्रतिस्पर्धात्मक लाभ प्राप्त करते हैं।
नियमों का पालन करते हुए स्वचालन के लिए उपकरण
ऐसे तैयार उपकरण हैं जो नैतिक पार्सिंग को सरल बनाते हैं और स्वचालित रूप से robots.txt का पालन करते हैं।
Scrapy (Python)
Scrapy — Python में पार्सिंग के लिए एक लोकप्रिय ढांचा है। यह स्वचालित रूप से robots.txt की जांच करता है और नियमों का पालन करता है।
Scrapy में robots.txt का पालन करने की सेटिंग:
# settings.py # robots.txt का पालन करने के लिए सक्षम करें ROBOTSTXT_OBEY = True # अनुरोधों के बीच देरी (सेकंड में) DOWNLOAD_DELAY = 3 # यादृच्छिक देरी (0.5 से 1.5 * DOWNLOAD_DELAY के बीच) RANDOMIZE_DOWNLOAD_DELAY = True # एक डोमेन के लिए समवर्ती अनुरोधों की सीमा CONCURRENT_REQUESTS_PER_DOMAIN = 1 # आपके पार्सर का User-Agent USER_AGENT = 'MyCompanyParser/1.0 (+http://mycompany.com/bot)'
इन सेटिंग्स के साथ, Scrapy स्वचालित रूप से पार्सिंग से पहले robots.txt की जांच करेगा और सभी नियमों का पालन करेगा।
Apify (क्लाउड प्लेटफ़ॉर्म)
Apify — बिना कोड के वेब स्क्रैपिंग के लिए एक क्लाउड प्लेटफ़ॉर्म है। आप एक दृश्य इंटरफ़ेस के माध्यम से पार्सर बनाते हैं, और Apify स्वचालित रूप से प्रॉक्सी और सीमाओं का पालन करता है।
नैतिक पार्सिंग के लिए लाभ:
- निर्मित प्रॉक्सी रोटेशन (रिहायशी और डेटा सेंटर)
- स्वचालित रूप से robots.txt का पालन
- इंटरफ़ेस के माध्यम से देरी सेट करें
- शेड्यूलिंग (दिन/सप्ताह में एक बार पार्सिंग)
Octoparse (कोड के बिना पार्सर)
Octoparse — बिना प्रोग्रामिंग के पार्सिंग के लिए एक डेस्कटॉप ऐप है। यह मार्केटर्स और विक्रेताओं के लिए उपयुक्त है जो कोड लिखना नहीं जानते हैं।
Octoparse में नैतिक पार्सिंग सेट करने का तरीका:
- कार्य सेटिंग्स (Task Settings) खोलें
- "Respect robots.txt" सक्षम करें
- 3-5 सेकंड की देरी (Delay) सेट करें
- "Proxy Settings" अनुभाग में प्रॉक्सी कनेक्ट करें
- शेड्यूलिंग सेट करें (Schedule)
Puppeteer/Playwright (JavaScript)
Puppeteer और Playwright — ब्राउज़र स्वचालन के लिए पुस्तकालय हैं। ये JavaScript-रेंडर्ड वेबसाइटों के पार्सिंग के लिए उपयुक्त हैं।
Puppeteer के साथ नैतिक पार्सिंग का उदाहरण:
const puppeteer = require('puppeteer');
const robotsParser = require('robots-parser');
async function ethicalScrape(url) {
// robots.txt की जांच करें
const robots = robotsParser('https://example.com/robots.txt',
'MyParser/1.0');
if (!robots.isAllowed(url)) {
console.log('robots.txt द्वारा पार्सिंग प्रतिबंधित है');
return;
}
const browser = await puppeteer.launch();
const page = await browser.newPage();
// पृष्ठ लोड होने से पहले देरी
await new Promise(resolve => setTimeout(resolve, 3000));
await page.goto(url);
const data = await page.evaluate(() => {
return document.querySelector('h1').innerText;
});
console.log(data);
await browser.close();
}
ethicalScrape('https://example.com/product1');
निष्कर्ष
प्रॉक्सी के माध्यम से नैतिक पार्सिंग व्यवसायिक लक्ष्यों और वेबसाइट मालिकों के प्रति सम्मान के बीच संतुलन है। robots.txt का पालन करते हुए, अनुरोधों के बीच देरी करते हुए और प्रॉक्सी रोटेशन का उपयोग करते हुए, आप कानूनी जोखिमों और अवरोधों के बिना आवश्यक डेटा एकत्र कर सकते हैं। मुख्य सिद्धांत: पार्सिंग से पहले robots.txt की जांच करें, अनुरोधों की गति को सीमित करें, ईमानदार User-Agent का उपयोग करें और केवल सार्वजनिक डेटा पार्स करें। यह आपके व्यवसाय को मुकदमे से बचाएगा और पार्सरों के स्थिर संचालन को सुनिश्चित करेगा।
यदि आप मार्केटप्लेस, प्रतिस्पर्धियों की वेबसाइटों को पार्स करने या बाजार विश्लेषण के लिए डेटा एकत्र करने की योजना बना रहे हैं, तो हम रिहायशी प्रॉक्सी का उपयोग करने की सिफारिश करते हैं जिनमें स्वचालित रोटेशन हो। ये सुनिश्चित करते हैं...