JS रेंडरिंग

यूनिवर्सल स्क्रैपिंग API एक शक्तिशाली वेब कंटेंट पुनर्प्राप्ति सेवा है जो जटिल वेब पेज रेंडरिंग और इंटरैक्शन परिदृश्यों का समर्थन करती है।

बेसिक रिक्वेस्ट संरचना

{
  "actor": "unlocker.webunlocker",
  "input": {
    "url": "https://example.com",
    "js_render": false,
    "headless": false
  },
  "proxy": {
    "country": "US"
  }
}

कोर विशेषताएँ

जावास्क्रिप्ट रेंडरिंग

जावास्क्रिप्ट रेंडरिंग गतिशील रूप से लोड की गई सामग्री और SPA (सिंगल पेज एप्लीकेशन) को संभालने में सक्षम बनाता है। अधिक जटिल पृष्ठ इंटरैक्शन और रेंडरिंग आवश्यकताओं का समर्थन करते हुए, एक पूर्ण ब्राउज़र वातावरण को सक्षम करता है।

js_render=true, हम ब्राउज़र का उपयोग अनुरोध करने के लिए करेंगे।

{
  "actor": "unlocker.webunlocker",
  "input": {
    "url": "https://www.google.com/",
    "js_render": true
  },
  "proxy": {
    "country": "US"
  }
}

जावास्क्रिप्ट निर्देश

जावास्क्रिप्ट निर्देशों का एक व्यापक सेट प्रदान करता है जो आपको वेब पेजों के साथ गतिशील रूप से बातचीत करने की अनुमति देता है।

ये निर्देश आपको तत्वों पर क्लिक करने, फॉर्म भरने, फॉर्म सबमिट करने या विशिष्ट तत्वों के प्रकट होने की प्रतीक्षा करने में सक्षम बनाते हैं, “अधिक पढ़ें” बटन पर क्लिक करने या फॉर्म सबमिट करने जैसे कार्यों के लिए लचीलापन प्रदान करते हैं।

{
  "actor": "unlocker.webunlocker",
  "input": {
    "url": "https://example.com",
    "js_render": true,
    "js_instructions": [
      {
        "wait_for": [
          ".dynamic-content",
          30000
        ]
        // Wait for element
      },
      {
        "click": [
          "#load-more",
          1000
        ]
        // Click element
      },
      {
        "fill": [
          "#search-input",
          "search term"
        ]
        // Fill form
      },
      {
        "keyboard": [
          "press",
          "Enter"
        ]
        // Simulate key press
      },
      {
        "evaluate": "window.scrollTo(0, document.body.scrollHeight)"
        // Execute custom JS
      }
    ]
  }
}

यहाँ कुछ सामान्य क्रियाएँ दी गई हैं जिन्हें आप जावास्क्रिप्ट निर्देशों से कर सकते हैं:

जावास्क्रिप्ट निर्देश संदर्भ

निर्देशसिंटैक्सविवरणउदाहरण
wait_for[selector, timeout]तत्व के प्रकट होने की प्रतीक्षा करें{"wait_for": [".content", 30000]}
click[selector, delay]तत्व पर क्लिक करें{"click": [".button", 1000]}
fill[selector, value]फॉर्म भरें{"fill": ["#input", "text"]}
waitmillisecondsनिश्चित प्रतीक्षा समय{"wait": 2000}
evaluatejavascript_codeJS कोड निष्पादित करें{"evaluate": "console.log('test')"}
keyboard[action, value, delay?]कीबोर्ड ऑपरेशननीचे कीबोर्ड संचालन तालिका देखें

कीबोर्ड संचालन

ऑपरेशनसिंटैक्सविवरणउदाहरण
की दबाएँ["press", keyInput]एक विशिष्ट keyInput दबाएँ{"keyboard": ["press", "Enter"]}
टेक्स्ट टाइप करें["type", text, delay?]वैकल्पिक देरी के साथ टेक्स्ट टाइप करें{"keyboard": ["type", "Hello", 20]}
की नीचे["down", key]एक कुंजी दबाए रखें{"keyboard": ["down", "Shift"]}
की ऊपर["up", key]एक कुंजी छोड़ें{"keyboard": ["up", "Shift"]}

समर्थित विशेष KeyInput प्रकार: https://pptr.dev/api/puppeteer.keyinput

संसाधन नियंत्रण

प्रदर्शन और बैंडविड्थ उपयोग को अनुकूलित करने के लिए संसाधन लोडिंग नियंत्रण प्रणाली।

{
  "actor": "unlocker.webunlocker",
  "input": {
    "url": "https://example.com",
    "js_render": true,
    "block": {
      "resources": [
        "Image",
        "Font",
        "Stylesheet",
        "Script"
      ],
      "urls": [
        // Optional, URL pattern-based blocking
        "*.analytics.com/*",
        "*/ads/*"
      ]
    }
  }
}

पूर्ण संसाधन प्रकार संदर्भ:

संसाधन प्रकारविवरणप्रभाव
Documentमुख्य दस्तावेज़ और iframesकोर पेज सामग्री
StylesheetCSS फ़ाइलेंपेज स्टाइलिंग और लेआउट
Imageचित्र और आइकनदृश्य सामग्री
Mediaऑडियो और वीडियो संसाधनमल्टीमीडिया सामग्री
Fontवेब फ़ॉन्टटेक्स्ट रेंडरिंग
Scriptजावास्क्रिप्ट फ़ाइलेंपेज कार्यक्षमता
TextTrackवीडियो उपशीर्षक और कैप्शनमीडिया सुलभता
XHRXMLHttpRequest कॉललीगेसी एसिंक्रोनस अनुरोध
FetchFetch API अनुरोधआधुनिक एसिंक्रोनस अनुरोध
Prefetchपूर्व-प्राप्त संसाधनप्रदर्शन अनुकूलन
EventSourceसर्वर-प्रेषित ईवेंटवास्तविक समय अद्यतन
WebSocketWebSocket कनेक्शनद्विदिश संचार
Manifestवेब ऐप मैनिफ़ेस्टPWA कॉन्फ़िगरेशन
SignedExchangeहस्ताक्षरित HTTP एक्सचेंजसामग्री प्रामाणिकता
Pingपिंग अनुरोधविश्लेषण और ट्रैकिंग
CSPViolationReportCSP उल्लंघन रिपोर्टसुरक्षा निगरानी
PreflightCORS प्रीफ़्लाइट अनुरोधक्रॉस-ओरिजिन सुरक्षा
Otherअवर्गीकृत संसाधनविविध

उपयोग उदाहरण:

{
  "actor": "unlocker.webunlocker",
  "input": {
    "url": "https://example.com",
    "js_render": true,
    "block": {
      "resources": [
        "Image",
        "Font",
        "Stylesheet",
        "Script",
        "Media",
        "Ping",
        "Prefetch"
      ]
    }
  }
}

संसाधन अवरोधन के लिए सर्वोत्तम अभ्यास:

  1. प्रदर्शन अनुकूलन

    • केवल आवश्यकतानुसार js_render सक्षम करें
    • बुद्धिमानी से संसाधन अवरोधन का उपयोग करें, तेजी से लोडिंग के लिए गैर-आवश्यक संसाधनों को ब्लॉक करें
    • कम नेटवर्क उपयोग के लिए Prefetch और Ping को ब्लॉक करने पर विचार करें
    • Document और महत्वपूर्ण Script संसाधनों को अनब्लॉक रखें
  2. बैंडविड्थ प्रबंधन

    • बैंडविड्थ-गहन पृष्ठों के लिए Image और Media को ब्लॉक करें
    • इसके बजाय सिस्टम फ़ॉन्ट का उपयोग करने के लिए Font को ब्लॉक करने पर विचार करें
  3. स्थिरता वृद्धि

    • अनुरोध पुन: प्रयास तंत्र लागू करें
    • त्रुटि हैंडलिंग तर्क जोड़ें
    • निश्चित wait के बजाय wait_for का उपयोग करें
  4. संसाधन दक्षता

    • मांग पर संसाधन लोड करें
    • अनावश्यक कनेक्शन को तुरंत बंद करें

नोट: संसाधन प्रकार स्ट्रिंग केस-संवेदनशील हैं। संदर्भ तालिका में दिखाए अनुसार सटीक मिलान का उपयोग करें।