वापस ब्लॉग पर

वेब प्रमाणीकरण को ब्राउज़र ऑटोमेशन में कैसे संभालें

Olivia Patel
Olivia Patel

Senior Cybersecurity Analyst

20-Aug-2026

TL;DR:

  • ब्राउज़र स्वचालन प्रमाणीकरण को हर नौकरी के लिए लॉगिन दोहराने के बजाय एक स्वीकृत सत्र का पुन: उपयोग करना चाहिए। एक संग्रहीत स्थिति कुकीज़ और मूल संग्रह को एक नए ब्राउज़र संदर्भ में ले जा सकती है।
  • प्रमाणीकरण पहचान को साबित करता है; प्राधिकरण तय करता है कि वह पहचान क्या कर सकती है। एक सफल साइन-इन स्वचालन के स्वीकृत दायरे का विस्तार नहीं करता है।
  • सत्र फ़ाइलें प्रमाणपत्र हैं। इन्हें स्रोत नियंत्रण से बाहर रखें, आराम करने पर इन्हें एन्क्रिप्ट करें, इनके जीवनकाल को सीमित करें, और इन्हें खाता और वातावरण द्वारा पृथक करें।
  • MFA, पासकी, सहमति स्क्रीन, और उपकरण अनुमोदन मानव सीमाएँ बनाते हैं। इन चरणों को एक स्वीकृत ऑपरेटर प्रवाह के माध्यम से पूरा करें, फिर केवल परिणामस्वरूप अधिकृत सत्र का पुन: उपयोग करें।
  • स्क्रेपलेस स्क्रेपिंग ब्राउज़र अधिकृत ब्राउज़र सत्र को एक क्लाउड ब्राउज़र में रख सकता है। आपका अनुप्रयोग अभी भी प्रमाणपत्र प्रबंधन, खाता नीति, और पहुँच निर्णयों का अधिकार रखता है।
  • शुरुआत करने के लिए स्वतंत्र। नए स्क्रेपलेस खातों में मुफ्त स्क्रेपिंग ब्राउज़र रनटाइम शामिल है — app.scrapeless.com पर साइन अप करें।

परिचय: प्रमाणीकरण की स्थिति एक सुरक्षा सीमा है

जब एक साइट पहचान के प्रमाण को स्वीकार करती है और उस पहचान को ब्राउज़र स्थिति से जोड़ती है, तो एक ब्राउज़र सत्र प्रमाणित हो जाता है। वह स्थिति एक HttpOnly कुकी, मूल संग्रह, एक इन-मेमोरी टोकन, या कई समन्वित मानों में रह सकती है जो रीडायरेक्ट करने के दौरान सेट किए जाते हैं।

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

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

प्रमाणीकरण बनाम प्राधिकरण

प्रमाणीकरण का उत्तर है "कौन सी पहचान इस ब्राउज़र का उपयोग कर रही है?" प्राधिकरण का उत्तर है "कौन से संसाधनों और क्रियाओं तक उस पहचान की पहुँच हो सकती है?" ब्राउज़र स्वचालन को दोनों जांचों की आवश्यकता होती है।

परत प्रश्न स्वचालन नियंत्रण
प्रमाणीकरण क्या पहचान सिद्ध है? लॉगिन के बाद के URL और खाता-विशिष्ट तत्व को सत्यापित करें
सत्र क्या प्रमाण अभी भी इस संदर्भ के साथ बंधा है? कुकी दायरे, संग्रह राज्य, और समाप्ति व्यवहार की जांच करें
प्राधिकरण क्या यह पहचान अनुरोधित क्रिया कर सकती है? एक समर्पित भूमिका और एक स्पष्ट क्रिया अनुमति सूची का उपयोग करें
ऑडिट क्या क्रिया को ट्रेस किया जा सकता है? नौकरी, खाता उपनाम, स्वीकृत उद्देश्य, और परिणाम को रिकॉर्ड करें

OAuth एक प्राधिकरण ढांचा है, हालांकि इसके रीडायरेक्ट अक्सर एक साइन-इन यात्रा के भीतर दिखाई देते हैं। OAuth 2.0 भूमिकाएँ और प्राधिकरण अनुदान प्रवाह की परिभाषा करता है; ब्राउज़र को प्राधिकरण कोड या पहुँच टोकन को लॉग में उजागर नहीं करना चाहिए।

ब्राउज़र सत्र पहचान को कैसे बनाए रखते हैं

कुकीज़ ब्राउज़र-तरफ के सत्र वाहक के रूप में सबसे सामान्य बनी रहती हैं। सर्वर एक कुकी जारी करता है, ब्राउज़र अपने डोमेन, पथ, समाप्ति, और सुरक्षा विशेषताओं को लागू करता है, और बाद में अनुरोधों में यह शामिल होता है जब दायरा मेल खाता है। HTTP राज्य-प्रबंधन विशेषण कुकी संग्रहण और मिलान को परिभाषित करता है

अनुप्रयोग localStorage या IndexedDB में टोकन या खाता संकेत भी संग्रहीत कर सकते हैं। sessionStorage अलग है: यह एक शीर्ष-स्तरीय ब्राउज़िंग संदर्भ का है और सामान्य संग्रह-राज्य निर्यात द्वारा स्वचालित रूप से पुन: उत्पादित नहीं होता है। पुन: उपयोग की योजना बनाने से पहले वास्तविक स्थिति की सतह की पहचान करें।

JWT एक टोकन प्रारूप का वर्णन करता है, न कि एक ब्राउज़र-सत्र रणनीति। एक JWT एक कुकी में, मूल संग्रह में, या केवल अनुप्रयोग मेमोरी में दिखाई दे सकता है। समावेशी तंत्र को सुरक्षा सीमा के रूप में मानें।

पासवर्ड, सत्र, OAuth, और WebAuthn

प्रत्येक प्रमाणीकरण विधि एक अलग स्वचालन सीमा बनाती है।

विधि स्वचालन क्या सुरक्षित रूप से अपना सकता है स्क्रिप्ट के बाहर क्या रहना चाहिए
पासवर्ड फ़ॉर्म एक समर्पित परीक्षण खाता और एक गुप्त जो रनटाइम पर प्रदान की जाती है व्यक्तिगत प्रमाणपत्र और हार्ड-कोडेड पासवर्ड
सत्र कुकी एक संक्षिप्त, एन्क्रिप्टेड स्थिति वस्तु किसी अन्य उपयोगकर्ता की कुकी या एक अनियंत्रित उत्पादन सत्र
OAuth/OIDC एक परीक्षण टेनेट के लिए स्वीकृत रीडायरेक्ट और कॉलबैक प्रदाता प्रमाणपत्र, स्वीकृत दायरे के बाहर की सहमति
MFA ऑपरेटर अनुमोदन के बाद का पोस्ट-MFA सत्र SMS, TOTP, पुश, या हार्डवेयर-कुंजी इंटरसेप्शन
WebAuthn/पासकी एक नियंत्रित परीक्षण प्रमाणीकरण यंत्र एक स्वामित्व वाले वातावरण में किसी व्यक्ति की बायोमेट्रिक या उपकरण-बंधन निजी कुंजी
WebAuthn सार्वजनिक कुंजी प्रमाणपत्रों का उपयोग करता है जो एक निर्भर पार्टी के लिए सीमित होते हैं। वेब प्रमाणीकरण विनिर्देश ब्राउज़र और प्रमाणक समारोह को परिभाषित करता है। एक उत्पादन पासकी या सुरक्षा कुंजी जानबूझकर निर्यात करना कठिन है, इसलिए स्वचालन योजना को उस सीमा को बनाए रखना चाहिए।

परीक्षण हार्नेस स्थापित करें

कार्यन्वित उदाहरण Node.js और Playwright का उपयोग करता है। सत्यापन रन के लिए उपयोग किए गए एक ही पैकेज संस्करण को स्थापित करें:

bash Copy
npm install playwright@1.62.1

राज्य फ़ाइलों के लिए एक समर्पित .auth डायरेक्टरी का उपयोग करें और इसे संस्करण नियंत्रण से बाहर रखें। राज्य फ़ाइल टेस्ट खाता का प्रतिनिधित्व करने के लिए पर्याप्त हो सकती है जब तक कि यह मान्य रहे।

अधिकृत सत्र का सुरक्षित पुन: उपयोग करें

निम्नलिखित स्क्रिप्ट एक लोकल एप्लिकेशन बनाती है जिसमें एक नकली टेस्ट खाता होता है, एक बार साइन इन करती है, ब्राउज़र राज्य को सहेजती है, और एक नए संदर्भ से सुरक्षित मार्ग खोलती है। यह एक तीसरे पक्ष के लॉगिन सेवा से संपर्क नहीं करती है या वास्तविक प्रमाण पत्र का उपयोग नहीं करती है।

javascript Copy
import http from "node:http";
import fs from "node:fs/promises";
import { chromium } from "playwright";

const server = http.createServer(async (request, response) => {
  const url = new URL(request.url, "http://127.0.0.1");
  const cookies = request.headers.cookie ?? "";

  if (request.method === "POST" && url.pathname === "/login") {
    let body = "";
    for await (const chunk of request) body += chunk;
    const form = new URLSearchParams(body);
    if (form.get("username") === "test-user" && form.get("password") === "test-password") {
      response.writeHead(302, {
        "Set-Cookie": "demo_session=authorized; HttpOnly; SameSite=Lax; Path=/",
        Location: "/account",
      });
      response.end();
      return;
    }
  }

  if (url.pathname === "/account") {
    const authorized = cookies.includes("demo_session=authorized");
    response.writeHead(authorized ? 200 : 401, { "Content-Type": "text/html" });
    response.end(`<title>${authorized ? "Authorized account" : "Sign in required"}</title>`);
    return;
  }

  response.writeHead(200, { "Content-Type": "text/html" });
  response.end(`<form method="post" action="/login">
    <label>Username <input name="username"></label>
    <label>Password <input name="password" type="password"></label>
    <button>Sign in</button>
  </form>`);
});

await new Promise(resolve => server.listen(0, "127.0.0.1", resolve));
const address = server.address();
const baseUrl = `http://127.0.0.1:${address.port}`;
const statePath = "authorized-state.json";
const browser = await chromium.launch({
  headless: true,
  executablePath: process.env.CHROME_PATH || undefined,
});

try {
  const context = await browser.newContext();
  const page = await context.newPage();
  await page.goto(baseUrl);
  await page.getByLabel("Username").fill("test-user");
  await page.getByLabel("Password").fill("test-password");
  await Promise.all([
    page.waitForURL(`${baseUrl}/account`),
    page.getByRole("button", { name: "Sign in" }).click(),
  ]);
  await context.storageState({ path: statePath });
  await context.close();

  const restored = await browser.newContext({ storageState: statePath });
  const restoredPage = await restored.newPage();
  const result = await restoredPage.goto(`${baseUrl}/account`);
  const state = JSON.parse(await fs.readFile(statePath, "utf8"));
  console.log(JSON.stringify({
    status: result.status(),
    title: await restoredPage.title(),
    cookieNames: state.cookies.map(cookie => cookie.name),
  }));
  await restored.close();
} finally {
  await browser.close();
  server.close();
  await fs.rm(statePath, { force: true });
}

लाइव रन ने HTTP 200, शीर्षक Authorized account, और एक कुकी नाम demo_session लौटाई। यह साबित करता है कि पुनर्स्थापित संदर्भ ने लॉगिन को दोहराए बिना अधिकृत राज्य प्राप्त किया।

Scrapeless के साथ स्क्रैपिंग शुरू करें

Scrapeless के साथ अपने वेब स्क्रैपिंग और स्वचालन कार्यप्रवाह को शक्ति दें!
आज ही साइन अप करें और $5 का मुफ्त क्रेडिट प्राप्त करें — कोई क्रेडिट कार्ड आवश्यक नहीं

अब अपना मुफ्त क्रेडिट Scrapeless डैशबोर्ड में प्राप्त करें।
Scrapeless डैशबोर्ड जिसमें $5.00 टीम क्रेडिट दिखा रहा है

MFA और पासकी सीमाएँ

MFA यह साबित करता है कि कोई स्वीकृत व्यक्ति या प्र устройство उपस्थित है। स्वचालन को उस प्रमाण को कमजोर नहीं करना चाहिए।

एक स्वामित्व वाली परीक्षण प्रणाली के लिए, पहचान-प्रदाता परीक्षण टेनेंट, समर्पित खाते, और प्रलेखित वर्चुअल प्रमाणीकार का उपयोग करें। उत्पादन पहुँच के लिए, ऑपरेटर को सामान्य इंटरफेस के माध्यम से MFA, पासकी, सहमति, या उपकरण-स्वीकृति चरण को पूरा करने दें। कार्यप्रवाह तब तक जारी सत्र का पुनः उपयोग कर सकता है जब तक कि इसकी नीति-परिभाषित समाप्ति न हो जाए।

किसी व्यक्ति के एक बार के कोड एकत्र न करें, डिवाइस-बाउंड पासकी को कॉपी न करें, या सहमति स्क्रीन को दबाएं। OWASP सत्र-प्रबंधन मार्गदर्शिका यह समझाती है कि सत्र पहचानकर्ताओं को प्रमाणीकरण प्रमाण पत्रों के समान देखभाल की आवश्यकता होती है।

Scrapeless स्क्रैपिंग ब्राउज़र के साथ प्रवाह लागू करें

Scrapeless स्क्रैपिंग ब्राउज़र ब्राउज़र प्रक्रिया को एक प्रबंधित क्लाउड ब्राउज़र में स्थानांतरित करता है जबकि आपका Playwright कोड नेविगेशन और राज्य पर नियंत्रण रखता है।

Playwright के बगल में SDK स्थापित करें:

bash Copy
npm install @scrapeless-ai/sdk@1.11.0 playwright@1.62.1

नोट: निम्नलिखित ब्लॉक में आपके Scrapeless API कुंजी और एक खाता की आवश्यकता है जिस पर आपको स्वचालित बनाने के लिए अधिकृत किया गया है। प्रमाण पत्र-मुक्त सत्यापन वातावरण ने सटीक SDK लोड किया और पुष्टि की Playwright.connect एक कार्य है, लेकिन यह प्रमाणित क्लाउड सत्र बनाने में असमर्थ था।

javascript Copy
import { Playwright } from "@scrapeless-ai/sdk";

const browser = await Playwright.connect({
  sessionName: "authorized-workflow",
  sessionTTL: 300,
  proxyCountry: "US",
});

const context = browser.contexts()[0];
const page = await context.newPage();
await page.goto("https://app.example.com/login", { waitUntil: "domcontentloaded" });

// Complete only the login steps approved for this account.
// An operator handles any MFA, passkey, consent, or device-approval boundary.

await page.waitForURL("https://app.example.com/account");
const state = await context.storageState();
console.log(JSON.stringify({ cookieCount: state.cookies.length, originCount: state.origins.length }));
await browser.close();

Scrapeless स्क्रैपिंग ब्राउज़र दस्तावेज़ API-कुंजी सेटअप और सत्र निर्माण को कवर करता है। स्क्रैपिंग ब्राउज़र उत्पाद पृष्ठ और मूल्य निर्धारण प्रबंधित ब्राउज़र सतह का वर्णन करते हैं।

प्रमाणीकरण राज्य का डिबग करें

बाहर से अंदर की ओर पहचान की स्थिति को डिबग करें। अंतिम URL और दृश्य खाता मार्कर से शुरू करें, फिर उस राज्य का समर्थन करने वाले ब्राउज़र भंडारण की जांच करें।

लक्षण जांचें सुरक्षित कार्रवाई
लॉगिन फॉर्म फिर से प्रकट होता है कुकी समाप्ति, डोमेन, पथ, और पुनर्निर्देशन पूर्णता सामान्य लॉगिन के माध्यम से एक नया स्वीकृत राज्य उत्पन्न करें
सुरक्षित पृष्ठ 401 या 403 लौटाता है पहचान वैधता और भूमिका अनुमतियाँ सुनिश्चित करें कि खाता अधिकृत है; भूमिका को व्यापक न करें
कुकी मौजूद है लेकिन ऐप साइन आउट दिखता है उत्पत्ति भंडारण, IndexedDB, या सर्वर-साइड सत्र स्वामित्व वाले ऐप के लिए पूरा राज्य सतह कैप्चर करें
राज्य स्थानीय स्तर पर काम करता है लेकिन किसी अन्य क्षेत्र में नहीं क्षेत्र-बाउंड नीति या जोखिम नियंत्रण स्वीकृत क्षेत्र को पिन करें और बाधा का दस्तावेज़ बनाएं
एक कार्यकर्ता दूसरे को प्रभावित करता है साझा खाता या साझा संदर्भ कार्यप्रवाह द्वारा संदर्भों और खातों को अलग करें
प्ले राइट प्रॉक्सी और क्लाउड-ब्राउज़र गाइड उस अगली कदम को प्रदान करता है जब क्षेत्र और ब्राउज़र संरचना को एप्लिकेशन होस्ट से बाहर जाने की आवश्यकता होती है।

सुरक्षा और अनुपालन चेकलिस्ट

  • केवल उन सिस्टम, किरायेदारों, और खातों का उपयोग करें जिन तक कार्यप्रवाह को पहुंचने की अनुमति है।
  • स्वचालन खाते को सबसे छोटा भूमिका दें जो स्वीकृत कार्य को पूर्ण कर सके।
  • रनटाइम पर पासवर्ड और कुंजी प्रदान करें; इन्हें स्रोत या स्क्रीनशॉट में कभी न रखें।
  • कुकीज़, स्टोरेज-स्टेट फ़ाइलें, अधिकृत कोड, और टोकन को रहस्यों के रूप में मानें।
  • सत्र वस्त्रों को एन्क्रिप्ट करें, फ़ाइल अनुमतियों को सीमित करें, और नीति समाप्ति पर इन्हें हटा दें।
  • विकास, स्टेजिंग, और उत्पादन पहचान को अलग करें।
  • MFA, सहमति, वित्तीय कार्य, विशेषाधिकार परिवर्तनों, और विनाशकारी कार्यों के लिए मानव स्वीकृति की आवश्यकता होती है।
  • उद्देश्य, खाता उपनाम, लक्षित उत्पत्ति, और परिणाम को बिना रहस्य मानों को लॉग किए रिकॉर्ड करें।

निष्कर्ष: प्रमाण का पुनः उपयोग करें, पासवर्ड नहीं

विश्वसनीय ब्राउज़र स्वचालन एक संकीर्ण अधिकृत सत्र बनाता है, इसे सत्यापित करता है, और उस प्रमाण का पुनः उपयोग अलग-अलग संदर्भों में करता है। यह प्रत्येक पृष्ठ पर पासवर्ड को पुनरावृत्त नहीं करता या सफल प्रमाणीकरण को प्रत्येक क्रिया के लिए अनुमति के रूप में नहीं मानता।

सत्र वस्त्रों को अल्पकालिक और सुरक्षित रखें। लोगों को सुरक्षा समारोहों को पूरा करने दें जो लोगों के लिए डिज़ाइन किए गए हैं। जब स्वीकृत कार्यप्रवाह को प्रबंधित ब्राउज़र सत्र की आवश्यकता होती है तो Scrapeless Scraping Browser का उपयोग करें बिना अधिकृत सीमा को क्लाउड प्रदाता में ले जाएं।


क्या आप एक अधिकृत ब्राउज़र कार्यप्रवाह बनाने के लिए तैयार हैं?

हमारी सामुदायिक में शामिल हों एक नि:शुल्क योजना का दावा करने और नियंत्रित ब्राउज़र स्वचालन बना रहे डेवलपर्स से जुड़ने के लिए: डिस्कोर्ड · टेलीग्राम.

app.scrapeless.com पर नि:शुल्क Scraping Browser रनटाइम के लिए साइन अप करें और किसी खाते पर राज्य-अलगाव पैटर्न लागू करें जिसे आप स्वचालित करने के लिए अधिकृत हैं।


अक्सर पूछे जाने वाले प्रश्न

प्रश्न: क्या एकAuthenticated वेबसाइट को स्वचालित करना कानूनी है?

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

प्रश्न: क्या ब्राउज़र स्वचालन को पासवर्ड या सत्र संग्रहीत करना चाहिए?

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

प्रश्न: क्या स्वचालन MFA या पासकी को संभाल सकता है?

स्वचालन स्वामित्व वाले परीक्षण वातावरण में परीक्षण प्रमाणीकरण का उपयोग कर सकता है, लेकिन एक उत्पादन MFA, पासकी, सहमति, या उपकरण-स्वीकृति चरण को अधिकृत ऑपरेटर के साथ रखना चाहिए। इसके परिणामस्वरूप सत्र का पुनः उपयोग केवल इसके स्वीकृत दायरे में करें।

प्रश्न: क्याAuthenticated कार्यप्रवाह को प्रॉक्सी की आवश्यकता होती है?

Authenticated कार्यप्रवाह को स्थिर क्षेत्रीय निकासी की आवश्यकता हो सकती है जब अनुप्रयोग जोखिम नीति या सामग्री को स्थान से बाँधता है। सत्र के लिए स्वीकृत देश को पिन करें और एक पहचान प्रवाह के भीतर क्षेत्रों को न बदलें।

प्रश्न: जब मार्कअप बदलता है तो क्या होना चाहिए?

भूमिका-आधारित लोकेटरों और पोस्ट-लॉगिन आश्वासन की फिर से जाँच करें। प्रमाणीकरण स्थिति और DOM चयनकर्ता अलग चिंताएँ हैं; एक मान्य सत्र एक बदले हुए इंटरफ़ेस के साथ सह-अस्तित्व कर सकता है।

प्रश्न: एकAuthenticated खाता कितनी समवर्तीता का उपयोग कर सकता है?

एक होस्ट प्रति तीन से अधिक श्रमिकों को न रखें जब तक कि अनुप्रयोग के मालिक ने दूसरी सीमा की स्वीकृति न दी हो, और साझा सर्वर-साइड स्थिति को बदलने वाले समांतर कार्यों के लिए अलग-अलग खातों का उपयोग करें।

प्रश्न: क्या यह बिना AI एजेंट के चल सकता है?

हाँ। Playwright और Scrapeless SDK पूरी अधिकृत धारा को सीधे चला सकते हैं। एक AI एजेंट वैकल्पिक है और इसी खाते, क्रिया, और स्वीकृति सीमाओं के भीतर काम करना चाहिए।

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

सबसे लोकप्रिय लेख

सूची