स्क्रैपिंग गाइड · 2 मिनट पढ़ें

स्क्रैपिंग करते समय आईपी बैन से कैसे बचें

IP बैन आमतौर पर व्यवहार से आते हैं, बुरी किस्मत से नहीं — बहुत अधिक अनुरोध, लापरवाह हेडर, और एक फिंगरप्रिंट जो "बॉट" चिल्लाता है। यहां बताया गया है कि नियमों के भीतर स्क्रैप कैसे करें और अपने अनुरोधों को प्रवाहित रखें।

क्यों साइटें IP को प्रतिबंधित करती हैं (और पहले क्या ठीक करना है)

अधिकांश ब्लॉक्स इस बात से प्रेरित होते हैं कि आप कैसे अनुरोध करते हैं, न कि आप कौन हैं।

तीन संकेत अधिकांश प्रतिबंधों के पीछे भारी उठाने का काम करते हैं:

  • रेट & वॉल्यूम — एक IP से प्रति सेकंड बहुत अधिक अनुरोध, या एक बिल्कुल समान ताल जो कोई मानव उत्पन्न नहीं करेगा।
  • फिंगरप्रिंट — TLS/JA3, HTTP/2 फ्रेम क्रम, और हेडर क्रम जो उस ब्राउज़र से मेल नहीं खाते हैं जिसे आप होने का दावा करते हैं।
  • हेडर्स — एक गायब या डिफ़ॉल्ट यूज़र-एजेंट, कोई स्वीकृत-भाषा नहीं, एक पुराना या अनुपस्थित रेफरर।

इसमें से किसी को भी अनुकूलित करने से पहले, लक्ष्य का robots.txt और सेवा की शर्तें पढ़ें। सार्वजनिक डेटा को स्क्रैप करना अक्सर ठीक है; एक एंडपॉइंट पर जोर देना, प्रकाशित दर सीमाओं की अनदेखी करना, या व्यक्तिगत डेटा एकत्र करना ToS और, कुछ न्यायालयों में, कानून को तोड़ सकता है। क्रॉल-डिले का सम्मान करें, जो आप लाते हैं उसे कैश करें, और किसी साइट को जमीन में पुनः प्रयास न करें।

जब आप जिम्मेदारी से स्क्रैप कर रहे हों, तो आपका मुख्य लीवर यह है कि IP कैसे असाइन किए जाते हैं:

पहुंचके लिए सबसे अच्छाव्यापार-बंद
घुमाना (प्रत्येक अनुरोध/बैच के लिए नया IP)उच्च-वॉल्यूम सार्वजनिक पृष्ठ, खोज-शैली क्रॉललोड फैलाता है, लेकिन सत्र, कार्ट और लॉगिन को तोड़ता है
स्टिकी / सत्र (कुछ समय के लिए वही IP)लॉगिन प्रवाह, बहु-चरण नेविगेशन, पृष्ठांकनमानव की तरह दिखता है, लेकिन एक निकासी पर लोड केंद्रित करता है

s4m डेटासेंटर प्रॉक्सी चलाता है — प्रमाणित SOCKS5 + HTTP, आवासीय नहीं। वे तेज और प्रति GB सस्ते हैं, लेकिन कुछ उपभोक्ता साइटें डेटासेंटर रेंज को अधिक आसानी से चिह्नित करती हैं, इसलिए उन्हें साफ हेडर और ईमानदार दर सीमाओं के साथ जोड़ें। लॉगिन के लिए एक स्थिर निकासी की आवश्यकता है? एक समर्पित IP जोड़ें। पूर्ण टनल पसंद है? देखें /vpn/, विकल्पों का वजन करें /compare/, या अधिक पढ़ें गाइड्स।

जो आपको अनबैन रखता है उसके लीवर

इनका संयोजन करें - कोई एकल चाल एक अच्छे एंटी-बॉट सिस्टम को नहीं हरा सकती।

रेट-सीमा और जिटर

समानांतरता को सीमित करें, अनुरोधों के बीच यादृच्छिक विलंब जोड़ें, और क्रॉल-डिले के साथ-साथ सर्वर द्वारा भेजे गए किसी भी 429 / Retry-After का सम्मान करें।

रोटेट करें या चिपके रहें

स्टेटलेस, उच्च-वॉल्यूम क्रॉल के लिए आईपी घुमाएं; लॉगिन किए गए, मल्टी-स्टेप फ्लोज़ के लिए एक स्थायी निकास रखें। कई काम दोनों को मिलाते हैं।

स्वच्छ फिंगरप्रिंट

एक सुसंगत Accept-Language और Referer के साथ वास्तविक ब्राउज़र हेडर भेजें, न कि पुस्तकालय डिफ़ॉल्ट जो आपको एक बॉट के रूप में चिह्नित करते हैं।

विफलता पर पीछे हटें

429 और 5xx प्रतिक्रियाओं पर जिटर के साथ गुणात्मक बैकऑफ का उपयोग करें, और जब एक साइट स्पष्ट रूप से रोकने का संकेत देती है तो पूरी तरह से रुक जाएं।

प्रति-IP उपयोग नियंत्रण

s4m सीमाएँ प्रति IP, खाता और खाता-प्रकार के अनुसार प्रशासक-समायोज्य हैं, इसलिए एक बेतरतीब कार्य एक साझा एग्जिट या आपके बजट को नुकसान नहीं पहुंचा सकता।

कोई लॉग नहीं, RAM-प्रथम

TLS के माध्यम से प्रमाणित प्रॉक्सी, डिज़ाइन द्वारा कोई लॉग नहीं। आपकी लक्षित सूची और ट्रैफ़िक आपके हैं, कार्ड या क्रिप्टो पर।

एक प्रतिबंध-प्रतिरोधी स्क्रैपिंग सेटअप

पहले अनुरोध से एक टिकाऊ क्रॉलर तक छह कदम।

robots.txt और ToS की जांच करें

पुष्टि करें कि एंडपॉइंट स्वचालित पहुंच की अनुमति देता है, किसी भी क्रॉल-डिले को नोट करें, और व्यक्तिगत या स्पष्ट रूप से प्रतिबंधित डेटा को छोड़ दें।

एक अनुरोध बजट सेट करें

एक समवर्ती कैप और एक लक्षित अनुरोध-प्रति-सेकंड चुनें जो दुरुपयोग जैसा नहीं दिखता, फिर यादृच्छिक देरी जोड़ें।

वास्तविक हेडर भेजें

एक वास्तविक यूजर-एजेंट, स्वीकार करें, और स्वीकार-भाषा सेट करें, और उन्हें एक सत्र के जीवन के लिए स्थिर रखें।

घुमाने वाले बनाम चिपकने वाले का चयन करें

राज्यहीन पृष्ठों के लिए निकास घुमाएँ; एक लॉगिन सत्र प्रति एक चिपचिपा निकास का पुन: उपयोग करें ताकि स्थिति मध्य-प्रवाह में न टूटे।

एक्सपोनेंशियल बैकऑफ जोड़ें

429 / 503 पर, Retry-After (या 2^n) के साथ प्रतीक्षा करें और फिर कुछ बार पुनः प्रयास करें, फिर धीरे-धीरे हार मान लें।

प्रति-IP उपयोग पर सीमा

s4m प्रति-IP सीमाएँ का उपयोग करें ताकि एकल स्क्रैप एक निकासी को समाप्त न कर सके, और जैसे-जैसे आप स्केल करते हैं मीटर किए गए उपयोग की निगरानी करें।

Python: s4m प्रॉक्सियों पर विनम्र क्रॉलर

स्टिकी सत्र, वास्तविक हेडर, जिटर के साथ बैकऑफ। अपने क्रेडेंशियल्स के लिए USER:PASS को स्वैप करें - कभी भी एक वास्तविक IP को हार्ड-कोड न करें।

python
import random
import time
import requests

# s4m datacenter proxies (authenticated). Placeholder host only.
USER, PASS = "USER", "PASS"
HTTP  = f"http://{USER}:{PASS}@proxy.s4m.online:3128"
SOCKS = f"socks5://{USER}:{PASS}@proxy.s4m.online:1080"  # pip install requests[socks]

PROXIES = {"http": HTTP, "https": HTTP}

HEADERS = {
    "User-Agent": (
        "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 "
        "(KHTML, like Gecko) Chrome/125.0 Safari/537.36"
    ),
    "Accept": "text/html,application/xhtml+xml;q=0.9,*/*;q=0.8",
    "Accept-Language": "en-US,en;q=0.9",
}


def polite_get(url, session, max_retries=5):
    for attempt in range(max_retries):
        r = session.get(url, headers=HEADERS, proxies=PROXIES, timeout=20)
        if r.status_code == 429 or r.status_code >= 500:
            wait = float(r.headers.get("Retry-After", 2 ** attempt))
            time.sleep(wait + random.uniform(0, 1))  # backoff + jitter
            continue
        r.raise_for_status()
        return r
    raise RuntimeError(f"gave up after {max_retries} tries: {url}")


def crawl(urls):
    # One Session = one sticky exit for this run; open a new one to rotate.
    with requests.Session() as s:
        for url in urls:
            resp = polite_get(url, s)
            yield url, resp.text
            time.sleep(random.uniform(1.5, 4.0))  # rate-limit + jitter


if __name__ == "__main__":
    for url, html in crawl(["https://example.com/page/1"]):
        print(url, len(html))
FAQ

प्रश्न, उत्तरित

क्या डेटा सेंटर प्रॉक्स बैन से बचने के लिए पर्याप्त हैं?

वे आपके मूल IP को छिपाते हैं और लोड फैलाते हैं, जो कई दर-आधारित ब्लॉकों को रोकता है। लेकिन s4m प्रॉक्स डेटासेंटर हैं, आवासीय नहीं, और कुछ उपभोक्ता साइटें डेटासेंटर रेंज को अधिक आसानी से चिह्नित करती हैं - इसलिए उन्हें साफ़ हेडर, उचित दर सीमाएँ, और जहाँ स्थिति महत्वपूर्ण है, चिपचिपे सत्रों के साथ मिलाएं।

क्या मुझे घूर्णन या स्थायी प्रॉक्सी का उपयोग करना चाहिए?

स्टेटलेस, उच्च-वॉल्यूम सार्वजनिक पृष्ठों के लिए निकास घुमाएं ताकि कोई एकल IP ध्यान आकर्षित न करे। जब आप लॉग इन होते हैं या एक बहु-चरण प्रवाह में होते हैं, तो एक स्थिर सत्र बनाए रखें, क्योंकि सत्र के मध्य में बदलता IP संदिग्ध लगता है और कार्ट या प्रमाणीकरण को तोड़ सकता है। कई कार्य दोनों को मिलाते हैं।

क्या वेब स्क्रैपिंग कानूनी है?

यह आपके अधिकार क्षेत्र, डेटा और साइट की शर्तों पर निर्भर करता है। सार्वजनिक, गैर-व्यक्तिगत डेटा अक्सर ठीक होता है, लेकिन एक प्लेटफ़ॉर्म की ToS स्वचालित पहुंच को मना कर सकती है, भले ही यह तकनीकी रूप से संभव हो, और व्यक्तिगत डेटा पर अतिरिक्त नियम होते हैं। हमेशा robots.txt और ToS की जांच करें, और सावधानी से स्क्रैप करें।

मैं एक काम को अपनी सभी कोटा जलाने से कैसे रोकूं?

s4m प्रॉक्सियों की माप होती है और यह पे-एज़-यू-गो है, जिसमें प्रति IP, प्रति खाता, और प्रति खाता-प्रकार के लिए प्रशासक-समायोज्य सीमाएँ होती हैं। अपने क्रॉलर में समवर्तीता को सीमित करें और प्रति-IP उपयोग सीमा सेट करें ताकि एक बेतरतीब लूप आपके बजट या साझा निकासी को खत्म न कर सके।

क्या मुझे लॉगिन किए गए स्क्रैपिंग के लिए एक स्थिर IP मिल सकता है?

हाँ। समर्पित व्यक्तिगत IP ऐड-ऑन एक स्थिर निकासी है जिसे आप वैकल्पिक रूप से अपनी पहचान से अनलिंक कर सकते हैं और या तो प्रॉक्सी या VPN से बाइंड कर सकते हैं — जब एक लक्ष्य एक सत्र को एक सुसंगत पते से बांधता है तो यह उपयोगी है।

स्मार्टर स्क्रैप करें, कठिनाई से नहीं

प्रमाणित SOCKS5 + HTTP डेटा सेंटर प्रॉक्सी, मीटर के अनुसार भुगतान, प्रति-IP उपयोग सीमाओं और एक वैकल्पिक समर्पित IP के साथ। डिज़ाइन द्वारा कोई लॉग नहीं — और ईमानदारी से कि ये डेटा सेंटर, न कि आवासीय, निकास हैं।

लोगों ने इस पृष्ठ को खोजकर पाया

वास्तविक खोज वाक्यांश जिनका यह पृष्ठ उत्तर देता है — लिंक किए गए वाक्यांश उस पृष्ठ को खोलते हैं जो उन्हें गहराई से कवर करता है।