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"]} |
wait | milliseconds | निश्चित प्रतीक्षा समय | {"wait": 2000} |
evaluate | javascript_code | JS कोड निष्पादित करें | {"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 | कोर पेज सामग्री |
Stylesheet | CSS फ़ाइलें | पेज स्टाइलिंग और लेआउट |
Image | चित्र और आइकन | दृश्य सामग्री |
Media | ऑडियो और वीडियो संसाधन | मल्टीमीडिया सामग्री |
Font | वेब फ़ॉन्ट | टेक्स्ट रेंडरिंग |
Script | जावास्क्रिप्ट फ़ाइलें | पेज कार्यक्षमता |
TextTrack | वीडियो उपशीर्षक और कैप्शन | मीडिया सुलभता |
XHR | XMLHttpRequest कॉल | लीगेसी एसिंक्रोनस अनुरोध |
Fetch | Fetch API अनुरोध | आधुनिक एसिंक्रोनस अनुरोध |
Prefetch | पूर्व-प्राप्त संसाधन | प्रदर्शन अनुकूलन |
EventSource | सर्वर-प्रेषित ईवेंट | वास्तविक समय अद्यतन |
WebSocket | WebSocket कनेक्शन | द्विदिश संचार |
Manifest | वेब ऐप मैनिफ़ेस्ट | PWA कॉन्फ़िगरेशन |
SignedExchange | हस्ताक्षरित HTTP एक्सचेंज | सामग्री प्रामाणिकता |
Ping | पिंग अनुरोध | विश्लेषण और ट्रैकिंग |
CSPViolationReport | CSP उल्लंघन रिपोर्ट | सुरक्षा निगरानी |
Preflight | CORS प्रीफ़्लाइट अनुरोध | क्रॉस-ओरिजिन सुरक्षा |
Other | अवर्गीकृत संसाधन | विविध |
उपयोग उदाहरण:
{
"actor": "unlocker.webunlocker",
"input": {
"url": "https://example.com",
"js_render": true,
"block": {
"resources": [
"Image",
"Font",
"Stylesheet",
"Script",
"Media",
"Ping",
"Prefetch"
]
}
}
}
संसाधन अवरोधन के लिए सर्वोत्तम अभ्यास:
-
प्रदर्शन अनुकूलन
- केवल आवश्यकतानुसार
js_render
सक्षम करें - बुद्धिमानी से संसाधन अवरोधन का उपयोग करें, तेजी से लोडिंग के लिए गैर-आवश्यक संसाधनों को ब्लॉक करें
- कम नेटवर्क उपयोग के लिए
Prefetch
औरPing
को ब्लॉक करने पर विचार करें Document
और महत्वपूर्णScript
संसाधनों को अनब्लॉक रखें
- केवल आवश्यकतानुसार
-
बैंडविड्थ प्रबंधन
- बैंडविड्थ-गहन पृष्ठों के लिए
Image
औरMedia
को ब्लॉक करें - इसके बजाय सिस्टम फ़ॉन्ट का उपयोग करने के लिए
Font
को ब्लॉक करने पर विचार करें
- बैंडविड्थ-गहन पृष्ठों के लिए
-
स्थिरता वृद्धि
- अनुरोध पुन: प्रयास तंत्र लागू करें
- त्रुटि हैंडलिंग तर्क जोड़ें
- निश्चित
wait
के बजायwait_for
का उपयोग करें
-
संसाधन दक्षता
- मांग पर संसाधन लोड करें
- अनावश्यक कनेक्शन को तुरंत बंद करें
नोट: संसाधन प्रकार स्ट्रिंग केस-संवेदनशील हैं। संदर्भ तालिका में दिखाए अनुसार सटीक मिलान का उपयोग करें।