लाइटपांडा क्या है? एआई एजेंट्स के लिए ज़िग हेडलेस ब्राउज़र
Senior Web Scraping Engineer
TL;DR:
- लाइटपांडा एक हेडलेस ब्राउज़र है जिसे ज़िग में खरोंच से लिखा गया है — यह क्रोमियम का फोर्क नहीं है — जो V8 को जावास्क्रिप्ट के लिए और अपनी स्वयं की DOM कार्यान्वयन के साथ जोड़ता है, इसे AGPL-3.0 के तहत ओपन सोर्स के रूप में जारी किया गया है और इससे अधिक 31,000 GitHub सितारे प्राप्त हुए हैं।
- इस प्रोजेक्ट का क्रॉलर बेंचमार्क (AWS m5.large पर 933 वास्तविक पृष्ठों) ने 100 पृष्ठों में 2 GB हेडलेस क्रोम के मुकाबले 123 MB पीक मेमोरी मापी, और लगभग 9x तेजी से निष्पादन — इसके "तेज़तम हेडलेस ब्राउज़र" प्रतिष्ठा के पीछे के नंबर।
- एक बाइनरी चार काम करती है:
fetchएक रेंडर पृष्ठ को HTML या मार्कडाउन के रूप में डंप करती है,servePuppeteer के लिए एक CDP सर्वर को उजागर करती है,agentएक एलएलएम के साथ ब्राउज़र को स्पष्ट अंग्रेजी में संचालित करती है, औरmcpइसे MCP ग्राहकों में प्लग करती है। - लाइटपांडा बीटा में है जिसमें आंशिक वेब-मानक कवरेज है — CORS अभी भी एक खुला मुद्दा है और कुछ साइटें क्रैश या गलत रेंडर होती हैं — इसलिए यह उन पृष्ठों के उच्च-वॉल्यूम क्रॉलिंग में चमकता है जिन्हें यह संभालता है, न कि एक सार्वभौमिक क्रोम प्रतिस्थापन के रूप में।
- जब किसी लक्ष्य को पूर्ण क्रोमियम निष्ठा, आवासीय निकासी, या चुनौती संचलन की आवश्यकता होती है, तो स्क्रेपलेस स्क्रेपिंग ब्राउज़र उसी CDP कार्यप्रवाह को उठाता है जैसा कि एक प्रबंधित क्लाउड सत्र — लाइटपांडा सरल 80% पर गति के लिए, कठिन 20% के लिए एक प्रबंधित क्लाउड ब्राउज़र।
- शुरू करने के लिए मुक्त. नए स्क्रेपलेस खातों में मुफ्त स्क्रेपिंग ब्राउज़र रनटाइम शामिल है — app.scrapeless.com पर साइन अप करें।
परिचय: एक ब्राउज़र कैसा दिखता है जब आप उन हिस्सों को हटा देते हैं जो स्क्रैपर्स कभी उपयोग नहीं करते
एक क्रॉलर जो एक लाख पृष्ठों को संसाधित करता है, कभी भी एक पिक्सेल को चित्रित नहीं करता। यह हर उदाहरण पर क्रोमियम के कंपोज़िटर, जीपीयू प्रोसेस, और मीडिया स्टैक के लिए अभी भी भुगतान करता है, क्योंकि हेडलेस क्रोम एक डेस्कटॉप ब्राउज़र है जिसमें खिड़की हटा दी गई है न कि मशीनों के लिए डिज़ाइन किया गया ब्राउज़र। लाइटपांडा विपरीत दिशा से शुरू होता है: केवल वही बनाएं जो स्वचालन उपयोग करता है — एक HTTP लोडर, एक HTML पार्सर, एक DOM, और एक जावास्क्रिप्ट इंजन — और ग्राफिकल रेंडरिंग को पूरी तरह छोड़ दें।
परिणाम एकल ज़िग बाइनरी है जो एक पृष्ठ के जावास्क्रिप्ट को V8 के माध्यम से निष्पादित करता है, मार्कअप को सर्वो प्रोजेक्ट के html5ever पार्सर के साथ पार्स करता है, संसाधनों को libcurl के माध्यम से लोड करता है, और क्रोम डेवलपर्स प्रोटोकॉल का इतना जानता है कि Puppeteer इसे एक ब्राउज़र के रूप में मानता है। यह AGPL-3.0 लाइसेंस के तहत ओपन सोर्स है और इसने 31,000 से अधिक GitHub सितारे एकत्र किए हैं।
यह गाइड लाइटपांडा को स्थापित करने, इसके चार CLI मोड, Puppeteer से कनेक्ट करने, जहां इसके बीटा सीमाएँ होती हैं, और यह कैसे प्रबंधित क्लाउड ब्राउज़र के साथ संयोजित होता है जिन्हें यह अभी तक संभाल नहीं सकता, को कवर करता है।
लाइटपांडा क्या है?
लाइटपांडा एक ओपन-सोर्स हेडलेस ब्राउज़र इंजन है जिसे विशेष रूप से एआई एजेंटों और वेब स्वचालन के लिए तैयार किया गया है, जिसका कोई वंश क्रोमियम या वेबकिट से नहीं है। क्योंकि यह केवल उस मशीनरी को लागू करता है जिसका स्वचालन स्पर्श करता है, इसका फुटप्रिंट एक पूर्ण ब्राउज़र का एक अंश है: प्रोजेक्ट का प्रकाशित क्रॉलर बेंचमार्क — AWS EC2 m5.large से अनुरोध किए गए 933 वास्तविक वेब पृष्ठों — ने हेडलेस क्रोम के मुकाबले 100 पृष्ठों में 123 MB पीक मेमोरी दर्ज की, और लगभग 5 सेकंड्स में वही 100 पृष्ठ पूरे किए जबकि हेडलेस क्रोम को 46 सेकंड लगे। ये प्रोजेक्ट के अपने माप हैं; वह निष्कर्ष जो किसी भी बेंचमार्क caveat से बचता है वह है कि रेंडरिंग पाइपलाइन को हटाने से फ्लीट स्केल पर ब्राउज़र चलाने की लागत मॉडल बदल जाती है।
ट्रेड-ऑफ कवरेज है। स्क्रैच से बना एक ब्राउज़र को वेब-प्लेटफ़ॉर्म की सतह के दशकों को फिर से लागू करना पड़ता है, और लाइटपांडा की स्थिति स्पष्ट रूप से बीटा है: कई साइटें काम करती हैं, कुछ त्रुटि या क्रैश होती हैं, और CORS जैसी सुविधाएं अभी भी ट्रैकर पर खुले मुद्दे हैं। यह ईमानदारी आपके तैनाती के तरीके के लिए महत्वपूर्ण है — इस पर नीचे अधिक।
लाइटपांडा स्थापित करें
रात्री बाइनरी लिनक्स और macOS पर x86_64 और aarch64 के लिए शिप होती हैं, साथ ही होमब्री (brew install lightpanda-io/browser/lightpanda) और आधिकारिक डॉकर छवियां। लिनक्स पर:
bash
# रात्री बाइनरी डाउनलोड करें और इसे निष्पाद्य बनाएं
curl -L -o lightpanda https://github.com/lightpanda-io/browser/releases/download/nightly/lightpanda-x86_64-linux && \
chmod a+x ./lightpanda
# पुष्टि करें कि यह चलता है
./lightpanda version
लिनक्स बाइनरी glibc के खिलाफ लिंक करती है, इसलिए मसल-आधारित डिस्ट्रोस जैसे अल्पाइन को या तो एक glibc बेस इमेज चाहिए या एक स्रोत निर्माण। कोई मूल विंडोज बाइनरी नहीं है — विंडोज पर आप इसे WSL2 के अंदर स्थापित करते हैं, जो स्वचालित रूप से localhost:9222 को होस्ट पर फॉरवर्ड करता है, इसलिए विंडोज साइड पर एक Puppeteer स्क्रिप्ट स्थानीय रूप से जुड़े ब्राउज़र के रूप में कनेक्ट करती है।
आपकी पहली रन से पहले जानने योग्य एक डिफ़ॉल्ट: लाइटपांडा उपयोग टेलीमेट्री भेजता है जब तक आप पर्यावरण में LIGHTPANDA_DISABLE_TELEMETRY=true सेट नहीं करते।
CLI: fetch, serve, agent, mcp
लाइटपांडा का एकल बाइनरी चार कार्यप्रवाहों को कवर करता है। इंजन का काम देखने का सबसे तेज़ तरीका फेच है, जो एक पेज को लोड करता है — जावास्क्रिप्ट निष्पादित होती है — और प्रकट परिणाम को बाहर निकालता है:
bash
# स्टैंडर्ड आउट पर निर्मित एचटीएमएल; --dump markdown पेज को मार्कडाउन में परिवर्तित करता है
./lightpanda fetch --obey-robots --dump html --log-level warn https://demo-browser.lightpanda.io/campfire-commerce/
परियोजना के डेमो स्टोरफ्रंट पर यह पूर्ण रूप से निर्मित दस्तावेज़ (<title>आउटडोर ओडिसी नोमैड बैकपैक</title> और सभी) लौटाता है, और --dump markdown एक साफ मार्कडाउन रूपांतरण भेजता है — उपयोगी जब पृष्ठ एक LLM संदर्भ विंडो के लिए निर्धारित होता है न कि एक पारसर के लिए। --wait-until, --wait-ms, --wait-selector, और --wait-script यह ट्यून करते हैं कि इंजन कितनी देर तक डंप करने से पहले इंतज़ार करता है।
स्वचालन क्लाइंट के लिए, serve एक CDP सर्वर शुरू करता है:
bash
./lightpanda serve --obey-robots --log-level warn --host 127.0.0.1 --port 9222
बचे हुए दो मोड नए हैं और मुख्य रूप से repo के बाहर बिना प्रलेखित हैं: एजेंट एक साधारण अंग्रेजी कार्य से LLM (Anthropic, OpenAI, Gemini, Vertex, Hugging Face, या स्थानीय मॉडल के माध्यम से ओलामा) के साथ ब्राउज़र को संचालित करता है, और सत्र को एक पांडा स्क्रिप्ट के रूप में निर्यात कर सकता है — पुनः चलने योग्य जावास्क्रिप्ट जो बिना-runtime पर निरूपण को पुनरारंभ करता है। mcp stdio पर एक मूल MCP सर्वर चलाता है, इसलिए MCP-सक्षम एजेंट लाइटपांडा को बिना किसी रैपर प्रक्रिया के एक उपकरण के रूप में प्राप्त करते हैं।
पुपीटियर से कनेक्ट करें
serve चलने पर, puppeteer-core वेबसॉकेट एंडपॉइंट के माध्यम से कनेक्ट होता है। यह उदाहरण एक जावास्क्रिप्ट-निर्मित लिस्टिंग पृष्ठ से हर लिंक को निकालता है:
js
import puppeteer from 'puppeteer-core';
// browserWSEndpoint लाइटपांडा के CDP सर्वर की ओर इशारा करता है
const browser = await puppeteer.connect({
browserWSEndpoint: 'ws://127.0.0.1:9222',
});
const context = await browser.createBrowserContext();
const page = await context.newPage();
await page.goto('https://demo-browser.lightpanda.io/amiibo/', { waitUntil: 'networkidle0' });
// DOM असली और V8-काम किया हुआ है, इसलिए मूल्यांकन ठीक उसी तरह काम करता है जैसे कि क्रोम में
const links = await page.evaluate(() =>
Array.from(document.querySelectorAll('a')).map((a) => a.getAttribute('href'))
);
console.log(links.length, 'links');
await page.close();
await context.close();
await browser.disconnect();
सीधे डेमो पृष्ठ के खिलाफ यह 12 लिंक लौटाता है। मौजूदा पुपीटियर कोड बड़े पैमाने पर जारी रहता है; वह भाग जो नहीं हैं वे वे हैं जो वेब-प्लेटफॉर्म सुविधाओं को छूते हैं जिन्हें लाइटपांडा ने अभी तक कार्यान्वित नहीं किया है — जो सही संक्रमण है।
अपना एपीआई कुंजी मुफ्त योजना पर प्राप्त करें: app.scrapeless.com
बीटा सीमा - और परिचालन सीमा
दो अलग-अलग सीमाएँ यह तय करती हैं कि लाइटपांडा एक उत्पादन पाइपलाइन में कहाँ फिट होती है, और इन्हें अलग रखना सही है।
इंजन सीमा अस्थायी लेकिन वास्तविक है। बीटा का मतलब आंशिक वेब-मानक कवरेज है: CORS एक खुला मुद्दा है, कुछ पृष्ठ त्रुटि देते हैं या क्रैश हो जाते हैं, और एक साइट जो अव्यवस्थित एपीआई पर निर्भर करती है वह क्रोम की तरह व्यवहार नहीं करेगी। परियोजना इस बारे में पारदर्शी है - README की विशेषता चेकलिस्ट सार्वजनिक है - और कवरेज धीरे-धीरे सुधरता है। जब तक यह एकीकृत नहीं होता, हर लक्ष्य को एक त्वरित संगतता जांच की आवश्यकता होती है इससे पहले कि आप इसे एक क्रॉलर को निर्धारित करें। जब एम्बेड करते हैं तो लाइसेंस भी ध्यान दें: AGPL-3.0 कॉपीलेफ्ट दायित्वों को शामिल करता है जिन्हें एक वाणिज्यिक उत्पाद टीम को समीक्षा करनी चाहिए, जो कंपनी द्वारा साइट पर एक होस्टेड क्लाउड पेशकश का एक कारण है।
परिचालन सीमा स्थायी है - कोई इंजन इसे हल नहीं करता है। प्रत्येक आत्म-हॉस्टेड ब्राउज़र की तरह, लाइटपांडा आपके लिए इग्रेस, भू-लक्षित करना, और चुनौती संभालना छोड़ देता है। अनुरोध आपके मशीन के आईपी से उत्पन्न होते हैं; एक साइट जो डेटा सेंटर रेंज को दर-सीमा निर्धारित करती है या ट्रैफ़िक-वैधता इंटरस्टिशियल्स देती है, उत्तर देती है कि अनुरोध कहाँ से आया है, न कि यह कितनी पतली ब्राउज़र इसके पीछे है। इंजन पर स्तर की गति डोर पर या बाहर नहीं जाने के लिए किसी अनुरोध के लिए कुछ नहीं करती है।
इसे स्क्रैपलेस स्क्रैपिंग ब्राउज़र के साथ जोड़ना
व्यवहारिक उत्पादन पैटर्न एक दो-स्तरीय पाइपलाइन है। लाइटपांडा उच्च-वॉल्यूम, कम-प्रतिरोध स्तर को क्राल करता है - साइटमैप, दस्तावेज़, कैटलॉग, कुछ भी जो इसका इंजन प्रदर्शित करता है - क्रोम की लागत के एक अंश पर। जो लक्ष्य पूर्ण क्रोमियम निष्ठा, आवासीय इग्रेस, या चुनौती संभालने की आवश्यकता रखते हैं वे स्क्रैपलेस स्क्रैपिंग ब्राउज़र के माध्यम से रूट होते हैं: एक स्व-विकसित क्रोमियम द्वारा संचालित एंटी-डिटेक्शन क्लाउड ब्राउज़र, जिसमें 195+ देशों में आवासीय प्रॉक्सी हैं जो प्रति सत्र चुने जाते हैं और आपके पक्ष पर कोई अवसंरचना नहीं है।
दोनों स्तर समान पुपीटियर कोड के लिए CDP बोलते हैं, इसलिए राउटर एक पंक्ति है - आप connect को जो WebSocket एंडपॉइंट देंगे। स्क्रैपलेस प्रलेखन SDK को पूरी तरह से कवर करता है; सत्र मिंट इस तरह दिखता है:
js
import { Scrapeless } from '@scrapeless-ai/sdk';
import puppeteer from 'puppeteer-core';
javascript
const client = new Scrapeless({ apiKey: process.env.SCRAPELESS_API_KEY });
// एक क्लाउड क्रियमियम सत्र जो आवासीय ईग्रेस के साथ है - "हार्ड लक्ष्यों" का स्तर
const session = await client.browser.create({
session_name: 'lightpanda-guide-demo',
session_ttl: 180,
proxy_country: 'US',
});
const browser = await puppeteer.connect({
browserWSEndpoint: session.browserWSEndpoint,
defaultViewport: null,
});
const page = await browser.newPage();
await page.goto('https://demo-browser.lightpanda.io/amiibo/', { waitUntil: 'domcontentloaded' });
await page.waitForSelector('a'); // लिस्टिंग के एंकर क्लाइंट रेंडर के बाद जुड़ते हैं
const links = await page.evaluate(() =>
Array.from(document.querySelectorAll('a')).map((a) => a.getAttribute('href'))
);
console.log(links.length, 'लिंक');
await browser.close();
इसी कार्य, उसी क्लाइंट पुस्तकालय, उसी परिणाम आकार - लेकिन सत्र प्रबंधित आवासीय ईग्रेस के पीछे पूर्ण क्रियमियम पर चलता है, इसलिए यह तब भी काम करता है जब लक्ष्य वह है जिसे लाइटपांडा रेंडर नहीं कर सकता या जो आईपी द्वारा फ़िल्टर करता है। मूल्य निर्धारण उपयोग-आधारित है जिसमें एक मुफ्त स्तर है जो इस मार्गदर्शिका को कवर करता है। डिटेक्शन-भारी स्पेक्ट्रम के अंत के लिए, प्लेवाइट अनडिटेक्टेड फिंगरप्रिंट ब्राउज़र गाइड प्लेवाइट की तरफ से उसी क्लाउड-सत्र पैटर्न को चलाता है।
निष्कर्ष: जहां सस्ता है वहां गति, जहां मायने रखता है वहां निष्ठा
लाइटपांडा की शर्त - मशीनों के लिए खरोंच से पुनर्निर्मित ब्राउज़र - वह पन्नों पर लागत में एक आदेश-मात्रा की कमी खरीदता है जिसे यह रेंडर करता है, और इसके एजेंट, MCP और पांडा स्क्रिप्ट सतहें इसे AI-स्वचालन क्षेत्र में सबसे दिलचस्प इंजनों में से एक बनाती हैं। इसका बीटा कवरेज और स्व-होस्टेड प्राकृतिक सीमा खींचती है: सुनिश्चित करें कि प्रत्येक लक्ष्य सही ढंग से रेंडर होता है, और जिनका या तो नहीं होता या जो ईग्रेस गुणवत्ता पर गेट लगाते हैं, उनके लिए एक पूर्ण-क्रियमियम मार्ग बनाए रखें।
एक कोडबेस के अंदर एक मार्गनिर्धारण निर्णय के रूप में विभाजन चलाएँ: लाइटपांडा का ws://127.0.0.1:9222 सस्ते स्तर के लिए, शेष के लिए एक Scrapeless स्क्रैपिंग ब्राउज़र सत्र। कोई भी स्तर दूसरे के कोड को फिर से लिखने की आवश्यकता नहीं है - यही सब कुछ CDP बोलने का शांत लाभ है।
क्या आप अपने AI-संचालित डेटा पाइपलाइन का निर्माण करने के लिए तैयार हैं?
हमारे समुदाय में शामिल हों ताकि एक मुफ्त योजना का दावा कर सकें और उन डेवलपर्स से जुड़ सकें जो हाइब्रिड क्रॉल पाइपलाइनों का निर्माण कर रहे हैं: डिस्कॉर्ड · टेलीग्राम।
app.scrapeless.com पर मुफ्त स्क्रैपिंग ब्राउज़र रनटाइम के लिए साइन अप करें और अपने हार्ड लक्ष्यों को इसके माध्यम से मार्गित करें जबकि लाइटपांडा सस्ते लक्ष्यों को संभालता है।
FAQ
प्रश्न: क्या लाइटपांडा एक क्रियमियम फोर्क है?
नहीं। लाइटपांडा को ज़िग में खरोंच से लिखा गया है, जिसमें अपना DOM और नेटवर्किंग है, जिसमें JavaScript निष्पादन के लिए V8 और HTML विश्लेषण के लिए html5ever का उपयोग किया गया है। यह क्रियमियम के साथ Chrome DevTools प्रोटोकॉल को संगतता की सतह के रूप में साझा करता है, न कि किसी इंजन कोड के साथ।
प्रश्न: क्या लाइटपांडा Puppeteer और Playwright के साथ काम करता है?
Puppeteer lightpanda serve के खिलाफ puppeteer.connect({ browserWSEndpoint }) के माध्यम से काम करता है, और यह वह एकीकरण है जिसकी परियोजना दस्तावेज़ीकरण करती है और इस गाइड ने इसे चलाया। अन्य CDP क्लाइंट उसी एंडपॉइंट से बात कर सकते हैं, लेकिन कवरेज इस पर निर्भर करता है कि प्रत्येक क्लाइंट किस प्रोटोकॉल डोमेन का उपयोग करता है - जब इंजन बीटा में हो तो अपने लक्ष्य पन्नों के खिलाफ अपने क्लाइंट का परीक्षण करें।
प्रश्न: क्या लाइटपांडा स्क्रीनशॉट ले सकता है?
नहीं - लाइटपांडा का कोई ग्राफिकल रेंडरिंग पाइपलाइन नहीं है, जो ठीक उसी जगह से इसकी गति और मेमोरी के लाभ आते हैं। वर्कफ़्लो जिन्हें पिक्सेल की आवश्यकता होती है (दृश्य रिग्रेशन, स्क्रीनशॉट कैप्चर) में एक पूर्ण ब्राउज़र की आवश्यकता होती है; DOM निकासी, लिंक क्रॉलिंग, और मार्कडाउन डंप वही हैं जहाँ लाइटपांडा फिट बैठता है।
प्रश्न: क्या लाइटपांडा उत्पादन के लिए तैयार है?
यह बीटा में है। परियोजना का कहना है कि कई वेबसाइटें काम करती हैं और कि त्रुटियाँ या क्रैश अभी भी संभव हैं; CORS जैसी सुविधाएँ अभी भी खुले मुद्दे हैं। आज उत्पादन उपयोग का अर्थ है कि इसे उन लक्ष्यों के लिए सीमित करना जिन्हें आपने सत्यापित किया है कि यह रेंडर करता है, शेष के लिए एक बैकअप मार्ग के साथ।
प्रश्न: लाइटपांडा के साथ प्रॉक्सी जोड़ने के बजाय इसे Scrapeless के साथ क्यों जोड़ें?
प्रॉक्सियाँ केवल IP को स्थानांतरित करती हैं, लेकिन हार्ड लक्ष्यों को ब्राउज़र निष्ठा भी जांचनी होती है और चुनौतियों का सामना करना पड़ता है - और बीटा इंजन के साथ आंशिक मानकों का कवरेज वहाँ आसानी से पता लगाने के लिए सबसे आसान है। Scrapeless स्क्रैपिंग ब्राउज़र 195+ देशों में पूर्ण स्व-विकसित क्रियमियम, एंटी-डिटेक्शन फिंगरप्रिंटिंग, और आवासीय प्रॉक्सियों को एक प्रबंधित सत्र में संयोजित करता है, इसलिए हार्ड टियर एक इकाई के रूप में हल किया जाता है न कि भागों से जोड़ा जाता है।
स्क्रैपलेस में, हम केवल सार्वजनिक रूप से उपलब्ध डेटा का उपयोग करते हैं, जबकि लागू कानूनों, विनियमों और वेबसाइट गोपनीयता नीतियों का सख्ती से अनुपालन करते हैं। इस ब्लॉग में सामग्री केवल प्रदर्शन उद्देश्यों के लिए है और इसमें कोई अवैध या उल्लंघन करने वाली गतिविधियों को शामिल नहीं किया गया है। हम इस ब्लॉग या तृतीय-पक्ष लिंक से जानकारी के उपयोग के लिए सभी देयता को कोई गारंटी नहीं देते हैं और सभी देयता का खुलासा करते हैं। किसी भी स्क्रैपिंग गतिविधियों में संलग्न होने से पहले, अपने कानूनी सलाहकार से परामर्श करें और लक्ष्य वेबसाइट की सेवा की शर्तों की समीक्षा करें या आवश्यक अनुमतियाँ प्राप्त करें।



