लाइव सत्र
स्क्रैपिंग ब्राउज़र की लाइव व्यू सुविधा आपको वास्तविक समय में ब्राउज़र सत्रों को देखने और नियंत्रित करने की अनुमति देती है। विशेष रूप से, लाइव व्यू सुविधा में किसी भी सक्रिय ब्राउज़र सत्र के भीतर देखना, क्लिक करना, टाइप करना और स्क्रॉल करना शामिल है। इसलिए, आप स्वचालित प्रक्रियाओं की आसानी से निगरानी कर सकते हैं, ऑटोमेशन स्क्रिप्ट को डीबग कर सकते हैं और ब्राउज़र सत्रों में मैन्युअल रूप से हस्तक्षेप कर सकते हैं।
स्क्रैपलेस में, आप दो स्थानों पर ब्राउज़र सत्रों को देख या नियंत्रित कर सकते हैं: प्लेग्राउंड और सत्र प्रबंधन इंटरफ़ेस।
उपयोग कैसे करें
एक स्क्रैपलेस ब्राउज़र सत्र बनाएँ
सबसे पहले, आपको एक सत्र बनाने की आवश्यकता है। ऐसा करने के दो तरीके हैं:
प्लेग्राउंड के माध्यम से एक सत्र बनाएँ
API के माध्यम से एक सत्र बनाएँ
आप सत्र बनाने के लिए हमारी API का भी उपयोग कर सकते हैं। API दस्तावेज़ देखें: स्क्रैपिंग ब्राउज़र API डॉक्स। हमारी सत्र सुविधा आपको लाइव व्यू फ़ंक्शन सहित इस सत्र को प्रबंधित करने में मदद करेगी।
const { Scrapeless } = require('@scrapeless-ai/sdk');
const puppeteer =require('puppeteer-core');
const client = new Scrapeless({ apiKey: 'API Key' });
// custom fingerprint
const fingerprint = {
platform: 'Windows',
}
// Create browser session and get WebSocket endpoint
const { browserWSEndpoint } = client.browser.create({
session_name: 'sdk_test',
session_ttl: 180,
proxy_country: 'US',
session_recording: true,
fingerprint,
});
(async () => {
const browser = await puppeteer.connect({browserWSEndpoint});
const page = await browser.newPage();
await page.goto('https://www.scrapeless.com');
await new Promise(res => setTimeout(res, 3000));
await page.goto('https://www.google.com');
await new Promise(res => setTimeout(res, 3000));
await page.goto('https://www.youtube.com');
await new Promise(res => setTimeout(res, 3000));
await browser.close();
})();
लाइव सत्र देखें
स्क्रैपलेस सत्र प्रबंधन इंटरफ़ेस में, आप आसानी से लाइव सत्र देख सकते हैं। उन्हें देखने के दो तरीके भी हैं:
वास्तविक समय में प्लेग्राउंड सत्र देखें
प्लेग्राउंड में एक सत्र बनाने के बाद, आप दाईं ओर वास्तविक समय में चल रहे ब्राउज़र को देख सकते हैं।
वास्तविक समय में API सत्र देखें
API के माध्यम से एक सत्र बनाने के बाद, आप सत्र पृष्ठ पर चल रहे सत्रों की सूची देख सकते हैं। एक्शन विवरण पर क्लिक करने से आप वास्तविक समय में ब्राउज़र के संचालन का पूर्वावलोकन कर सकते हैं। यहां आप ऑन-साइट लाइव सत्र देखना चुन सकते हैं या लाइव सत्र देखने के लिए सत्र URL कॉपी कर सकते हैं। हम आपके संदर्भ के लिए दो संचालन वीडियो प्रदान करते हैं।
ऑन-साइट प्रदर्शन
वेबसाइट के माध्यम से लाइव URL प्राप्त करें
आप चल रहे सत्रों की सूची से लाइव URL कॉपी कर सकते हैं और इसे सीधे एक्सेस करने के लिए ब्राउज़र में पेस्ट कर सकते हैं।
API के माध्यम से लाइव URL प्राप्त करें
आप API को कॉल करके लाइव URL प्राप्त कर सकते हैं। निम्न कोड उदाहरण में, हम पहले रनिंग सेशंस API का उपयोग करके सभी वर्तमान में चल रहे सत्रों को प्राप्त करते हैं, और फिर लाइव URL API का उपयोग करके एक विशिष्ट सत्र का लाइव URL पुनः प्राप्त करते हैं:
const API_CONFIG = {
host: 'https://api.scrapeless.com',
headers: {
'x-api-token': 'API Key',
'Content-Type': 'application/json'
}
};
const requestOptions = {
method: 'GET',
headers: new Headers(API_CONFIG.headers)
};
async function fetchBrowserSessions() {
try {
// Fetch running browser sessions
const sessionResponse = await fetch(`${API_CONFIG.host}/browser/running`, requestOptions);
if (!sessionResponse.ok) {
throw new Error(`failed to fetch sessions: ${sessionResponse.status} ${sessionResponse.statusText}`);
}
const sessionResult = await sessionResponse.json();
// Process sessions data
const sessions = sessionResult.data;
if (!sessions || !Array.isArray(sessions) || sessions.length === 0) {
console.log("no active browser sessions found");
return;
}
// Get first session task ID
const taskId = sessions[0]?.taskId;
if (!taskId) {
console.log("task id not found in the session data");
return;
}
// Fetch live URL for the task
await fetchLiveUrl(taskId);
} catch (error) {
console.error("error fetching browser sessions:", error.message);
}
}
async function fetchLiveUrl(taskId) {
try {
const liveResponse = await fetch(`${API_CONFIG.host}/browser/${taskId}/live`, requestOptions);
if (!liveResponse.ok) {
throw new Error(`failed to fetch live url: ${liveResponse.status} ${liveResponse.statusText}`);
}
const liveResult = await liveResponse.json();
if (liveResult && liveResult.data) {
console.log(`taskId: ${taskId}`);
console.log(`liveUrl: ${liveResult.data}`);
} else {
console.log("no live url data available for this task");
}
} catch (error) {
console.error(`error fetching live url for task ${taskId}:`, error.message);
}
}
fetchBrowserSessions().then(r => { });
CDP के माध्यम से लाइव URL प्राप्त करें
जब आपका कोड चल रहा हो तब लाइव URL प्राप्त करने के लिए, cdp कमांड Agent.liveURL को कॉल करें:
const { Puppeteer, log as Log } = require('@scrapeless-ai/sdk');
const logger = Log.withPrefix('puppeteer-example');
(async () => {
const browser = await Puppeteer.connect({
session_name: 'sdk_test',
session_ttl: 180,
proxy_country: 'US',
session_recording: true,
defaultViewport: null
});
const page = await browser.newPage();
await page.goto('https://www.scrapeless.com');
const { error, liveURL } = await page.liveURL();
if (error) {
logger.error('Failed to get current page URL:', error);
} else {
logger.info('Current page URL:', liveURL);
}
await browser.close();
})();