🥳हमारे शक्तिशाली वेब स्क्रैपिंग टूलकिट तक पहुंचने के लिए स्क्रैपलेस कम्युनिटी और अपने नि: शुल्क परीक्षण का दावा करें!
वापस ब्लॉग पर

वेब स्क्रैपिंग विद एलएलएएमए 3: किसी भी वेबसाइट को संरचित JSON में बदलें (2025 गाइड)

Emily Chen
Emily Chen

Advanced Data Extraction Specialist

11-Sep-2025

परिचय: एआई के साथ वेब स्क्रैपिंग का विकास

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

मेटा के LLaMA 3 जैसे बड़े भाषा मॉडल (LLMs) का आगमन इस परिदृश्य में एक महत्वपूर्ण बदलाव का संकेत देता है। LLaMA 3, अपनी अद्भुत प्राकृतिक भाषा को समझने और संसाधित करने की क्षमता के साथ, डेटा निष्कर्षण के लिए एक अधिक लचीला और बुद्धिमान दृष्टिकोण प्रदान करता है। पारंपरिक स्क्रैपर्स के विपरीत जो कठोर नियमों पर काम करते हैं, LLaMA 3 वेब सामग्री के वैदेशिक अर्थ का व्याख्या कर सकता है, बिल्कुल एक इंसान की तरह। यह क्षमता इसे वेबसाइट संरचना में बदलावों के अनुसार ढालने और संबंधित जानकारी निकालने की अनुमति देती है, भले ही लेआउट में बदलाव हो, जिससे यह आधुनिक वेब स्क्रैपिंग चुनौतियों के लिए एक अनमोल उपकरण बन जाता है।

यह व्यापक 2025 गाइड LLaMA 3 का उपयोग करके उन्नत वेब स्क्रैपिंग की प्रक्रिया में, कच्चे HTML को साफ, संरचित JSON में परिवर्तित करना खोजता है। हम मूलभूत सिद्धांतों, व्यावहारिक कार्यान्वयन चरणों का अन्वेषण करेंगे, और, सबसे महत्वपूर्ण, सबसे कठिन एंटी-बॉट चुनौतियों को कैसे पार करें, इसके लिए अत्याधुनिक समाधान जैसे Scrapeless Scraping Browser का एकीकृत करने पर चर्चा करेंगे। इस गाइड के अंत तक, आपके पास मजबूत, एआई-चालित वेब स्क्रैपर्स बनाने की जानकारी होगी जो दोनों प्रभावी और समकालीन वेब रक्षा के खिलाफ ठोस हैं।

LLaMA 3 वेब स्क्रैपिंग के लिए क्यों एक गेम-चेंजर है

अप्रैल 2024 में जारी किया गया LLaMA 3, मेटा का शक्तिशाली ओपन-वेट बड़ा भाषा मॉडल है, जो 8B से 405B पैरामीटरों तक के विभिन्न आकारों में उपलब्ध है। इसके बाद के संस्करण (LLaMA 3.1, 3.2, और 3.3) ने प्रदर्शन, संदर्भगत समझ, और तर्क क्षमता में महत्वपूर्ण सुधार किए हैं। ये उन्नति LLaMA 3 को वेब स्क्रैपिंग के लिए विशेष रूप से उपयुक्त बनाती हैं, कई प्रभावशाली कारणों के लिए:

1. संदर्भगत समझ और अर्थ निकासी

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

2. वेबसाइट परिवर्तनों के प्रति बढ़ी हुई मजबूती

वेबसाइटें गतिशील इकाइयाँ हैं, जिनमें उनके डिज़ाइन, सामग्री, और अंतर्निहित कोड में बार-बार अपडेट होते हैं। पारंपरिक स्क्रैपर्स के लिए, हर अपडेट एक तोड़ने वाला परिवर्तन हो सकता है। LLaMA 3 की सेमांटिक सामग्री की व्याख्या करने की क्षमता का मतलब है कि यह इन परिवर्तनों के प्रति अधिक मजबूती से काम कर सकता है। यह डेटा को सटीक रूप से निकालना जारी रख सकता है, भले ही तत्वों को फिर से व्यवस्थित किया गया हो, नए खंड जोड़े गए हों, या छोटे स्टाइलिश बदलाव किए गए हों। यह मजबूती सीधे परिचालन लागत में कमी और अधिक लगातार डेटा प्रवाह में बदलती है।

3. गतिशील सामग्री और जावास्क्रिप्ट-रेंडर किए गए पृष्ठों को संभालना

आधुनिक वेबसाइटें सामग्री को गतिशील रूप से रेंडर करने के लिए जावास्क्रिप्ट पर बहुत निर्भर करती हैं। यह सरल HTTP अनुरोध-आधारित स्क्रैपर्स के लिए एक महत्वपूर्ण चुनौती प्रस्तुत करता है। जबकि सहेजने योग्य ब्राउज़र जैसे Selenium जावास्क्रिप्ट को निष्पादित कर सकते हैं, रेंडर की गई DOM से विशिष्ट डेटा निकालने के लिए अभी भी सटीक चयनकर्ताओं की आवश्यकता होती है। LLaMA 3, जब इसे एक हेडलेस ब्राउज़र के साथ जोड़ा जाता है, तो पूर्ण रूप से रेंडर की गई HTML सामग्री को संसाधित कर सकता है और इच्छित जानकारी को बुद्धिमानी से निकाल सकता है, गतिशील सामग्री रेंडरिंग और जटिल जावास्क्रिप्ट इंटरैक्शन की जटिलताएँ को दरकिनार कर सकता है।

4. मार्कडाउन रूपांतरण के माध्यम से दक्षता

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

5. इन-एंवायरनमेंट डेटा प्रोसेसिंग और सुरक्षा

स्थानीय LLM जैसे LLaMA 3 (Ollama के माध्यम से) का उपयोग करने के महत्वपूर्ण लाभों में से एक यह है कि डेटा प्रोसेसिंग आपके अपने वातावरण के भीतर होती है। यह संवेदनशील जानकारी को संभालने के लिए विशेष रूप से महत्वपूर्ण है, क्योंकि यह उस डेटा के उजागर होने के जोखिम को न्यूनतम करता है जो प्रोसेसिंग के लिए बाहरी APIs या क्लाउड सेवाओं को भेजने पर हो सकता है। स्क्रैप किए गए डेटा को और LLaMA को आपकी संरचना के भीतर रखना अधिक नियंत्रण प्रदान करता है और डेटा सुरक्षा और गोपनीयता को बढ़ाता है।

LLaMA 3 द्वारा संचालित स्क्रैपिंग के लिए पूर्व-आवश्यकताएं

LLaMA 3 वेब स्क्रैपिंग में प्रवेश करने से पहले, सुनिश्चित करें कि आपके पास निम्नलिखित घटक और बुनियादी ज्ञान उपलब्ध हैं:

  • Python 3: इस गाइड के लिए प्रमुख प्रोग्रामिंग भाषा। जबकि बुनियादी Python ज्ञान पर्याप्त है, वेब स्क्रैपिंग के अवधारणाओं से परिचित होना लाभकारी होगा।
  • अनुरूप ऑपरेटिंग सिस्टम: Ollama के माध्यम से LLaMA 3 macOS (macOS 11 Big Sur या बाद का), Linux, और Windows (Windows 10 या बाद का) का समर्थन करता है।
  • पर्याप्त हार्डवेयर संसाधन: संसाधनों की आवश्यकताएं आपके द्वारा चुने गए LLaMA 3 मॉडल के आकार पर निर्भर करती हैं। छोटे मॉडल (जैसे, llama3.1:8b) हल्के होते हैं और अधिकांश आधुनिक लैपटॉप पर चल सकते हैं (लगभग 4.9 GB डिस्क स्थान और 6-8 GB RAM)। बड़े मॉडल (जैसे 70B या 405B) को अधिक मेमोरी और कंप्यूटेशनल शक्ति की आवश्यकता होती है, जो अधिक मजबूत मशीनों या समर्पित सर्वरों के लिए उपयुक्त है।

अपने LLaMA 3 वातावरण को Ollama के साथ सेट करना

Ollama एक अनिवार्य उपकरण है जो स्थानीय रूप से बड़े भाषा मॉडल को डाउनलोड करने, सेट करने और चलाने की प्रक्रिया को सरल बनाता है। यह LLM तैनाती से संबंधित जटिलता के अधिकांश को समाहित करता है, जिससे आप डेटा निष्कर्षण पर ध्यान केंद्रित कर सकते हैं।

1. Ollama स्थापित करना

Ollama के साथ शुरू करने के लिए:

  1. आधिकारिक Ollama वेबसाइट पर जाएं।
  2. अपने ऑपरेटिंग सिस्टम के लिए अनुकूलित एप्लिकेशन डाउनलोड और स्थापित करें।
  3. महत्वपूर्ण कदम: स्थापना प्रक्रिया के दौरान, Ollama आपसे एक टर्मिनल कमांड चलाने के लिए कह सकता है। इस कमांड को अभी न चलाएं। सबसे पहले, हम आपके हार्डवेयर क्षमताओं और विशिष्ट उपयोग के मामले के साथ उपयुक्त LLaMA मॉडल संस्करण का चयन करेंगे।

2. अपने LLaMA मॉडल का चयन करना

सही LLaMA मॉडल का चयन प्रदर्शन और दक्षता के संतुलन के लिए महत्वपूर्ण है। Ollama के मॉडल पुस्तकालय में ब्राउज़ करें ताकि उस संस्करण की पहचान कर सकें जो आपके सिस्टम की विशिष्टताओं और आपके प्रोजेक्ट की जरूरतों के सबसे उपयुक्त हो।

अधिकतर उपयोगकर्ताओं के लिए, llama3.1:8b एक आदर्श संतुलन प्रदान करता है। यह हल्का, अत्यधिक सक्षम है, और लगभग 4.9 GB डिस्क स्पेस और 6-8 GB RAM की आवश्यकता होती है, जिससे यह अधिकांश आधुनिक लैपटॉप पर कार्यान्वयन के लिए उपयुक्त है। यदि आपकी मशीन में अधिक ठोस प्रोसेसिंग शक्ति है और आपको बढ़ी हुई तर्क क्षमताओं या बड़े संदर्भ विंडो की आवश्यकता है, तो 70B या यहां तक कि 405B जैसे बड़े मॉडलों में स्केल करने पर विचार करें। ध्यान रखें कि ये बड़े मॉडल काफी अधिक मेमोरी और कंप्यूटेशनल संसाधनों की आवश्यकता होती हैं।

3. मॉडल डाउनलोड और चलाना

जब आप अपना मॉडल चुन लें, तो आप उसे डाउनलोड और प्रारंभ कर सकते हैं। उदाहरण के लिए, llama3.1:8b मॉडल डाउनलोड और चलाने के लिए, अपने टर्मिनल में निम्नलिखित कमांड चलाएं:

bash Copy
ollama run llama3.1:8b

Ollama मॉडल डाउनलोड करेगा। सफल डाउनलोड पर, आपको एक साधारण इंटरएक्टिव प्रॉम्प्ट दिखाई देगा:

Copy
>>> संदेश भेजें (/? सहायता के लिए)

यह सुनिश्चित करने के लिए कि मॉडल सही ढंग से स्थापित और सक्षम है, आप एक त्वरित प्रश्न भेज सकते हैं:

Copy
>>> तुम कौन हो?
मैं LLaMA हूँ, *Meta AI द्वारा विकसित एक AI सहायक...*

ऊपर की तरह की प्रतिक्रिया यह पुष्टि करती है कि आपका LLaMA मॉडल सही ढंग से सेट किया गया है। इंटरएक्टिव प्रॉम्प्ट से बाहर निकलने के लिए, /bye टाइप करें।

4. Ollama सर्वर शुरू करना

आपके वेब स्क्रैपिंग स्क्रिप्ट को LLaMA 3 के साथ संवाद करने के लिए, Ollama सर्वर को बैकग्राउंड में चलाना होगा। एक नया टर्मिनल विंडो खोलें और निष्पादित करें:

bash Copy
ollama serve

यह कमांड एक स्थानीय Ollama उदाहरण शुरू करता है, जो सामान्यतया http://127.0.0.1:11434/ पर सुलभ होता है। इस टर्मिनल विंडो को खुला रखना अनिवार्य है, क्योंकि सर्वर को आपकी स्क्रैपिंग संचालन के लिए सक्रिय रहना चाहिए। आप अपने वेब ब्राउज़र में URL पर जाकर सर्वर की स्थिति की पुष्टि कर सकते हैं; आपको "Ollama चल रहा है" संदेश दिखाई देना चाहिए।

LLM-प्रवर्धित वेब स्क्रैपर बनाना: एक बहु-चरण कार्यप्रवाह

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

यहां AI-प्रवर्धित बहु-चरण कार्यप्रवाह का विवरण है:

  1. ब्राउज़र स्वचालन: लक्ष्य वेबपृष्ठ को लोड करने, सभी गतिशील सामग्री (JavaScript, AJAX कॉल) को रेंडर करने, और मानव जैसे इंटरैक्शन का अनुकरण करने के लिए एक हेडलेस ब्राउज़र (जैसे, Selenium) का उपयोग करें।
  2. HTML निष्कर्षण: पृष्ठ के पूरी तरह से रेंडर होने के बाद, उस विशिष्ट HTML कंटेनर की पहचान करें और उसे निकालें जो इच्छित उत्पाद विवरण या संबंधित जानकारी रखता है। यह चरण पृष्ठ के सबसे प्रासंगिक सेक्शन को अलग करने पर केंद्रित है।
  3. मार्कडाउन रूपांतरण: निकाले गए HTML को एक साफ, संक्षिप्त मार्कडाउन प्रारूप में बदलें। यह महत्वपूर्ण अनुकूलन टोकन की संख्या को काफी कम कर देता है, जिससे इनपुट LLM के लिए अधिक कुशल हो जाता है और प्रसंस्करण गति और सटीकता में सुधार होता है।
  4. LLM प्रोसेसिंग: Markdown सामग्री से साफ, संरचित JSON डेटा निकालने के लिए LLaMA 3 के साथ एक ध्यानपूर्वक निर्मित, संरचित संकेत का उपयोग करें। यहाँ LLM की संदर्भात्मक समझ सर्वोपरि है।
  5. आउटपुट हैंडलिंग: निकाले गए JSON डेटा को एक स्थायी प्रारूप (जैसे, JSON फ़ाइल या डेटाबेस) में स्टोर करें ताकि इसे बाद में उपयोग, विश्लेषण या अन्य सिस्टम में एकीकरण के लिए उपयोग किया जा सके।

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

चरण 1 - आवश्यक पुस्तकालय स्थापित करें

आवश्यक Python पुस्तकालय स्थापित करने से शुरू करें। अपने टर्मिनल या कमांड प्रॉम्प्ट को खोलें और निम्नलिखित कमांड निष्पादित करें:

bash Copy
pip install requests selenium webdriver-manager markdownify

आइए प्रत्येक पुस्तकालय की भूमिका को संक्षेप में समझते हैं:

  • requests: HTTP अनुरोध करने के लिए एक मौलिक Python पुस्तकालय। इसका उपयोग आपके स्थानीय ओलमा उदाहरण के लिए LLM प्रसंस्करण के लिए API कॉल भेजने के लिए किया जाएगा।
  • selenium: वेब ब्राउज़र स्वचालन के लिए एक शक्तिशाली उपकरण। यह JavaScript-भारी वेबसाइटों के साथ बातचीत करने, गतिशील सामग्री को रेंडर करने और उपयोगकर्ता व्यवहार का अनुकरण करने के लिए आवश्यक है।
  • webdriver-manager: स्वचालित रूप से सही ChromeDriver (या अन्य ब्राउज़र ड्राइवर) संस्करण डाउनलोड और प्रबंधित करके Selenium सेटअप को सरल बनाता है, मैन्युअल कॉन्फ़िगरेशन को समाप्त करता है।
  • markdownify: HTML सामग्री को मार्कडाउन में बदलने के लिए एक उपयोगिता, LLM इनपुट अनुकूलित करने के लिए एक महत्वपूर्ण कदम।

चरण 2 - हेडलेस ब्राउज़र प्रारंभ करें

Selenium के साथ हेडलेस ब्राउज़र सेट अप करना पहला प्रोग्रामेटिक कदम है। एक हेडलेस ब्राउज़र ग्राफिकल यूजर इंटरफेस के बिना काम करता है, जिससे यह स्वचालित कार्यों के लिए प्रभावी हो जाता है। निम्नलिखित Python कोड हेडलेस मोड में Chrome ब्राउज़र को आरंभ करता है:

python Copy
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.chrome.options import Options
from webdriver_manager.chrome import ChromeDriverManager

options = Options()
options.add_argument("--headless=new")
options.add_argument("--no-sandbox")  # कुछ वातावरण के लिए आवश्यक
options.add_argument("--disable-dev-shm-usage")  # सीमित संसाधन समस्याओं को पार करने के लिए
options.add_argument("--disable-gpu") # केवल Windows OS के लिए लागू
options.add_argument("--window-size=1920,1080") # एक समान विंडो का आकार सेट करें
options.add_argument("--ignore-certificate-errors") # प्रमाणपत्र त्रुटियों को अनदेखा करें
options.add_argument("--disable-extensions") # एक्सटेंशन को अक्षम करें
options.add_argument("--disable-infobars") # सूचना पट्टियों को अक्षम करें
options.add_argument("--disable-browser-side-navigation") # ब्राउज़र साइड नेविगेशन को अक्षम करें
options.add_argument("--disable-features=VizDisplayCompositor") # VizDisplayCompositor को अक्षम करें
options.add_argument("--blink-settings=imagesEnabled=false") # तेज़ लोडिंग के लिए चित्रों को अक्षम करें

driver = webdriver.Chrome(
    service=Service(ChromeDriverManager().install()),
    options=options
)

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

चरण 3 - उत्पाद HTML निकालें

एक बार जब हेडलेस ब्राउज़र को प्रारंभ कर लिया जाता है, तो अगला कदम लक्षित URL पर नेविगेट करना और संबंधित HTML सामग्री निकालना है। जटिल साइटों जैसे Amazon के लिए, उत्पाद विवरण अक्सर गतिशील रूप से रेंडर होते हैं और विशिष्ट HTML तत्वों में समाहित होते हैं। हम यह सुनिश्चित करने के लिए Selenium के WebDriverWait का उपयोग करेंगे कि लक्षित तत्व पूरी तरह से लोड हो जाए इससे पहले कि हम उसकी सामग्री निकालने का प्रयास करें।

python Copy
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

wait = WebDriverWait(driver, 15)
product_container = wait.until(
    EC.presence_of_element_located((By.ID, "ppd"))
)

# उत्पाद कंटेनर का पूरा HTML निकालें
page_html = product_container.get_attribute("outerHTML")

यह दृष्टिकोण दो महत्वपूर्ण लाभ प्रदान करता है:

  • गतिशील सामग्री प्रबंधन: यह स्पष्ट रूप से JavaScript-रेंडर की गई सामग्री (जैसे कीमतें, रेटिंग, और उपलब्धता) के पृष्ठ पर आने का इंतजार करता है, यह सुनिश्चित करते हुए कि आप पूरी और अद्यतित जानकारी प्राप्त करते हैं।
  • लक्षित निष्कर्षण: एक विशिष्ट कंटेनर (जैसे, <div id="ppd"> अमेज़न उत्पाद पृष्ठों के लिए) पर ध्यान केंद्रित करके, आप केवल HTML के प्रासंगिक भाग को निकालते हैं, जिनमें हेडर, फूटर, साइडबार और विज्ञापन जैसे अनावश्यक तत्वों को प्रभावी ढंग से नकारते हैं। इससे LLM द्वारा संसाधित किए जाने वाले डेटा की मात्रा कम होती है, जिससे बेहतर दक्षता और सटीकता मिलती है।

चरण 4 – HTML को मार्कडाउन में परिवर्तित करें

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

प्रभाव को स्पष्ट करने के लिए, ध्यान दें कि एक सामान्य अमेज़न उत्पाद पृष्ठ के HTML में लगभग 270,000 टोकन हो सकते हैं। हालांकि, इसका समकक्ष मार्कडाउन संस्करण लगभग ~11,000 टोकन जितना संक्षिप्त हो सकता है। यह अद्भुत 96% कमी महत्वपूर्ण लाभ प्रस्तुत करता है:

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

यहां बताया गया है कि markdownify पुस्तकालय का उपयोग करके Python में HTML से मार्कडाउन में रूपांतरण कैसे किया जाए:

python Copy
from markdownify import markdownify as md

clean_text = md(page_html, heading_style="ATX")

heading_style="ATX" तर्क सुनिश्चित करता है कि मार्कडाउन शीर्षक ATX शैली (जैसे, # Heading 1) का उपयोग करके उत्पन्न होते हैं, जिसे आमतौर पर LLM द्वारा अच्छी तरह से समझा जाता है।

चरण 5 – डेटा निष्कर्षण प्रॉम्प्ट बनाएं

जो प्रॉम्प्ट आप LLM को प्रदान करते हैं वह सुसंगत और सही तरीके से संरचित JSON आउटपुट प्राप्त करने के लिए महत्वपूर्ण है। एक अच्छी तरह से डिज़ाइन किया गया प्रॉम्प्ट LLM को उसके भूमिका, कार्य और आउटपुट के लिए आवश्यक सटीक प्रारूप को समझाने में मदद करता है। निम्नलिखित प्रॉम्प्ट LLaMA 3 को एक विशेषज्ञ अमेज़न उत्पाद डेटा निष्कर्षणकर्ता के रूप में कार्य करने के लिए निर्देशित करता है और केवल परिभाषित स्कीमा के साथ मान्य JSON लौटाने के लिए कहता है:

python Copy
PRODUCT_DATA_EXTRACTION_PROMPT: Final[str] = (
    "आप एक विशेषज्ञ अमेज़न उत्पाद डेटा निष्कर्षणकर्ता हैं। आपका "
    "कार्य प्रदान की गई सामग्री से उत्पाद डेटा निकालना है। "
    "\n\nकेवल मान्य JSON लौटाएँ जिसमें शुद्धता से निम्नलिखित "
    "क्षेत्र और प्रारूप हों:\n\n"\
    "{\n"
    "    'title': "string" - उत्पाद का शीर्षक,\n"
    "    'price': number - वर्तमान मूल्य (संख्यात्मक मान "
    "केवल),\n"
    "    'original_price': number या null - यदि उपलब्ध हो तो "
    "मूल मूल्य,\n"
    "    'discount': number या null - यदि उपलब्ध हो तो "
    "छूट प्रतिशत,\n"
    "    'rating': number या null - औसत रेटिंग (0-5 "
    "स्केल),\n"
    "    'review_count': number या null - कुल समीक्षाओं की "
    "संख्या,\n"
    "    'description': "string" - मुख्य उत्पाद "
    "विवरण,\n"
    "    'features': ["string"] - बुलेट अंक विशेषताओं की "
    "सूची,\n"
    "    'availability': "string" - स्टॉक स्थिति,\n"
    "    'asin': "string" - 10-चर अमेज़न आईडी"\n"
    "}\n\nकेवल JSON लौटाएँ बिना किसी अतिरिक्त पाठ के।"
)

यह प्रॉम्प्ट अत्यधिक विशिष्ट है, जिस पर अस्पष्टता का कोई गुंजाइश नहीं है। यह परिभाषित करता है:

  • भूमिका: "विशेषज्ञ अमेज़न उत्पाद डेटा निष्कर्षणकर्ता।"
  • कार्य: "प्रदान की गई सामग्री से उत्पाद डेटा निकालना।"
  • आउटपुट प्रारूप: स्पष्ट रूप से कहता है कि "केवल मान्य JSON" लौटाएं और प्रत्येक क्षेत्र के लिए सटीक संरचना और डेटा प्रकार प्रदान करता है (जैसे, title को स्ट्रिंग के रूप में, price को नंबर, features को स्ट्रिंग की सूची के रूप में)।
  • प्रतिबंध: "केवल JSON लौटाएँ बिना किसी अतिरिक्त पाठ के।" यह महत्वपूर्ण है ताकि LLM बातचीत को भरने या स्पष्टीकरण तैयार करने से रोका जा सके, यह सुनिश्चित करते हुए कि JSON आउटपुट साफ हो और सीधे पार्स किया जा सके।

चरण 6 – LLM API को कॉल करें

अपने ओलामा सर्वर को स्थानीय रूप से चलाने के साथ, अब आप तैयार मार्कडाउन पाठ और निष्कर्षण प्रॉम्प्ट को इसके HTTP API के माध्यम से अपने LLaMA 3 उदाहरण को भेज सकते हैं। Python में requests पुस्तकालय इस उद्देश्य के लिए आदर्श है।

python Copy
import requests
import json

response = requests.post(
    "http://localhost:11434/api/generate",
    json={
        "model": "llama3.1:8b",
        "prompt": f"{PRODUCT_DATA_EXTRACTION_PROMPT}\n{clean_text}",
        "stream": False,
        "format": "json",
        "options": {
            "temperature": 0.1,
            "num_ctx": 12000,
        },
        "timeout":250,
    }
)

raw_output = response.json()["response"].strip()
product_data = json.loads(raw_output)

API कॉल में मुख्य पैरामीटर का विश्लेषण करते हैं:
Here is the translation of the provided text into Hindi:

  • मॉडल: उपयोग के लिए LLaMA मॉडल संस्करण निर्धारित करता है (जैसे, llama3.1:8b)।
  • प्रॉम्प्ट: यह संयुक्त प्रॉम्प्ट है, जिसमें आपका PRODUCT_DATA_EXTRACTION_PROMPT और clean_text (मार्कडाउन सामग्री) को संयोजित किया गया है, जिसे LLM को संसाधित करने की आवश्यकता है।
  • स्ट्रीम: पूर्ण प्रतिक्रिया प्राप्त करने के लिए False पर सेट करें, अतिरिक्त टोकनों की लगातार स्ट्रीम के बजाय। यह डेटा निष्कर्षण के बैच प्रोसेसिंग के लिए उपयुक्त है।
  • फॉर्मेट: इसे "json" पर सेट करना महत्वपूर्ण है। यह ओलामा को इसके आउटपुट को JSON ऑब्जेक्ट के रूप में स्वरूपित करने के लिए निर्देशित करता है, जो कि हमारे इच्छित संरचित डेटा आउटपुट के साथ मेल खाता है।
  • विकल्प:
    • तापमान: इसे 0.1 पर सेट करें। एक कम तापमान (जो 0 के करीब हो) LLM के आउटपुट को अधिक निर्धारित और कम रचनात्मक बनाता है, जो संरचित डेटा निष्कर्षण के लिए आदर्श है जहाँ निरंतरता महत्वपूर्ण है।
    • num_ctx: टोकनों में अधिकतम संदर्भ लंबाई को परिभाषित करता है। मूल लेख सुझाव देता है कि अधिकांश अमेज़न उत्पाद पृष्ठों के लिए 12,000 टोकन पर्याप्त हैं। आपके मार्कडाउन सामग्री की अपेक्षित लंबाई के आधार पर इस मान को सही तरीके से सेट करना महत्वपूर्ण है। इस मान को बढ़ाने से लंबे इनपुट संभालने की योग्यता बढ़ती है, लेकिन यह RAM उपयोग को भी बढ़ाता है और प्रोसेसिंग की गति को धीमा कर देता है। केवल तब संदर्भ सीमा बढ़ाएं जब आपके उत्पाद पृष्ठ विशेष रूप से लंबे हो या यदि आपके पास इसे समर्थन देने के लिए कंप्यूट संसाधन हों।
  • टाइमआउट: LLM की प्रतिक्रिया के लिए इंतज़ार करने के लिए अधिकतम समय (सेकंड में) सेट करता है।

उत्तर प्राप्त करने के बाद, response.json()["response"].strip() LLM के आउटपुट से कच्चा JSON स्ट्रिंग निकालता है, और json.loads(raw_output) इस स्ट्रिंग को एक पायथन डिक्शनरी में पार्स करता है, जिससे निकाला गया डेटा आसानी से सुलभ होता है।

चरण 7 – परिणामों को सहेजें

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

python Copy
with open("product_data.json", "w", encoding="utf-8") as f:
    json.dump(product_data, f, indent=4, ensure_ascii=False)

यह कोड स्निपेट product_data.json नामक एक फ़ाइल को लिखने की मोड ("w") में खोलता है जिसमें UTF-8 एन्कोडिंग होती है ताकि विभिन्न वर्णों को संभाला जा सके। json.dump() फिर product_data डिक्शनरी को इस फ़ाइल में लिखता है। indent=4 तर्क सुनिश्चित करता है कि JSON आउटपुट को 4-स्थान की विराम चिह्न के साथ अच्छी तरह से स्वरूपित किया गया है, जिससे यह अधिक पठनीय हो जाता है, और ensure_ascii=False सुनिश्चित करता है कि गैर-ASCII वर्ण (जैसे विशेष प्रतीक या अंतरराष्ट्रीय वर्ण) सीधे लिखे जाते हैं न कि एस्केप किए जाते हैं।

चरण 8: स्क्रिप्ट चलाएँ

अपने संपूर्ण LLaMA-संचालित वेब स्क्रैपर को चलाने के लिए, आपके पास आम तौर पर एक मुख्य निष्पादन ब्लॉक होगा जो लक्षित URL को परिभाषित करता है और आपके स्क्रैपिंग फ़ंक्शन को कॉल करता है। यहां एक सरल उदाहरण है:

python Copy
if __name__ == "__main__":
    url = "<https://www.amazon.com/Black-Office-Chair-Computer-Adjustable/dp/B00FS3VJO>"
    # अपने उत्पाद डेटा को स्क्रेप और निष्कर्षित करने के लिए अपने फ़ंक्शन को कॉल करें
    scrape_amazon_product(url)

वास्तविक दुनिया के परिदृश्यों में, आप HTML fetching से JSON saving तक के चरणों को एक फ़ंक्शन (जैसे, scrape_amazon_product) के भीतर कैप्सुलेट करेंगे और फिर इस फ़ंक्शन को इच्छित उत्पाद URL के साथ कॉल करेंगे।

चरण 9 – पूर्ण कोड उदाहरण

पूर्ण, अंत-से-अंत कार्यान्वयन के लिए, यहां पूरा पायथन स्क्रिप्ट है जो चर्चा किए गए सभी चरणों को संयोजित करता है:

python Copy
import json
import logging
import time
from typing import Final, Optional, Dict, Any

import requests
from markdownify import markdownify as html_to_md
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.ui import WebDriverWait
from webdriver_manager.chrome import ChromeDriverManager

# लॉगिंग कॉन्फ़िगर करें
logging.basicConfig(
    level=logging.INFO,
    format="%(asctime)s - %(levelname)s - %(message)s",
    handlers=[logging.StreamHandler()]
)

def initialize_web_driver(headless: bool = True) -> webdriver.Chrome:
    """एक कॉन्फ़िगर किया हुआ Chrome WebDriver
    उदाहरण प्रारंभ करें और लौटाएं।"""
    options = Options()
    options.add_argument("--headless=new")
    options.add_argument("--no-sandbox")  # कुछ वातावरणों के लिए आवश्यक
    options.add_argument("--disable-dev-shm-usage")  # सीमित संसाधन की समस्याओं का समाधान करता है
    options.add_argument("--disable-gpu") # केवल Windows OS के लिए लागू
    options.add_argument("--window-size=1920,1080") # एक सुसंगत विंडो आकार सेट करें
    options.add_argument("--ignore-certificate-errors") # प्रमाणपत्र त्रुटियों की अनदेखी करें
    options.add_argument("--disable-extensions") # एक्सटेंशन बंद करें
    options.add_argument("--disable-infobars") # सूचना पट्टियाँ बंद करें
    options.add_argument("--disable-browser-side-navigation") # ब्राउजर साइड नेविगेशन बंद करें
    options.add_argument("--disable-features=VizDisplayCompositor") # VizDisplayCompositor बंद करें

Here’s the translation of the provided text in Hindi:

python Copy
options.add_argument("--blink-settings=imagesEnabled=false") # तेज़ लोडिंग के लिए चित्रों को अक्षम करें

service = Service(ChromeDriverManager().install())
return webdriver.Chrome(service=service, options=options)


def fetch_product_container_html(product_url: str) -> Optional[str]:
    """अमेज़न उत्पाद विवरण कंटेनर का HTML सामग्री प्राप्त करें।"""
    driver = initialize_web_driver()
    try:
        logging.info(f"उत्पाद पृष्ठ तक पहुँच रहे हैं: {product_url}")
        driver.set_page_load_timeout(15)
        driver.get(product_url)

        # उत्पाद कंटेनर के दिखाई देने का इंतज़ार करें
        wait = WebDriverWait(driver, 5)
        product_container = wait.until(
            EC.presence_of_element_located((By.ID, "ppd"))
        )
        return product_container.get_attribute("outerHTML")
    except Exception as e:
        logging.error(f"उत्पाद विवरण प्राप्त करने में त्रुटि: {str(e)}")
        return None
    finally:
        driver.quit()


def extract_product_data_via_llm(markdown_content: str) -> Optional[Dict[str, Any]]:
    """LLM API का उपयोग करके मार्कडाउन पाठ से संरचित उत्पाद डेटा निकालें।"""
    try:
        response = requests.post(
            LLM_API_CONFIG["endpoint"],
            json={
                "model": LLM_API_CONFIG["model"],
                "prompt": f"{PRODUCT_DATA_EXTRACTION_PROMPT}\n{markdown_content}",
                "stream": LLM_API_CONFIG["stream"],
                "format": LLM_API_CONFIG["format"],
                "options": LLM_API_CONFIG["options"],
                "timeout": LLM_API_CONFIG["timeout_seconds"],
            }
        )
        response.raise_for_status()  # खराब प्रतिक्रियाओं (4xx या 5xx) के लिए HTTPError उत्पन्न करें
        raw_output = response.json()["response"].strip()
        return json.loads(raw_output)
    except requests.exceptions.RequestException as e:
        logging.error(f"LLM API अनुरोध विफल: {e}")
        return None
    except json.JSONDecodeError as e:
        logging.error(f"LLM प्रतिक्रिया से JSON को डिकोड करने में विफल: {e}")
        return None


def scrape_amazon_product(url: str) -> None:
    """अमेज़न उत्पाद पृष्ठ के लिए स्क्रैपिंग और डेटा निकासी प्रक्रिया का आयोजन करें।"""
    logging.info(f"स्क्रैपिंग प्रक्रिया शुरू हो रही है: {url}")

    # चरण 1: HTML सामग्री प्राप्त करें
    html_content = fetch_product_container_html(url)
    if not html_content:
        logging.error("HTML सामग्री प्राप्त करने में विफल। बाहर निकल रहा हूँ।")
        return

    # चरण 2: HTML को मार्कडाउन में बदलें
    markdown_content = html_to_md(html_content, heading_style="ATX")
    logging.info("HTML को मार्कडाउन में बदल दिया गया।")

    # चरण 3: LLM के माध्यम से डेटा निकालें
    product_data = extract_product_data_via_llm(markdown_content)
    if not product_data:
        logging.error("LLM के माध्यम से उत्पाद डेटा निकालने में विफल। बाहर निकल रहा हूँ।")
        return

    # चरण 4: परिणाम सहेजें
    output_filename = "product_data.json"
    try:
        with open(output_filename, "w", encoding="utf-8") as f:
            json.dump(product_data, f, indent=4, ensure_ascii=False)
        logging.info(f"उत्पाद डेटा सफलतापूर्वक {output_filename} में सहेजा गया")
    except IOError as e:
        logging.error(f"फाइल में उत्पाद डेटा सहेजने में विफल: {e}")


# कॉन्फ़िगरेशन स्थायी
LLM_API_CONFIG: Final[Dict[str, Any]] = {
    "endpoint": "http://localhost:11434/api/generate",
    "model": "llama3.1:8b",
    "temperature": 0.1,
    "num_ctx": 12000,
    "stream": False,
    "format": "json",
    "timeout_seconds": 220,
}

DEFAULT_PRODUCT_DATA: Final[Dict[str, Any]] = {
    "title": "",
    "price": 0.0,
    "original_price": None,
    "discount": None,
    "rating": None,
    "review_count": None,
    "description": "",
    "features": [],
    "availability": "",
    "asin": "",
}

PRODUCT_DATA_EXTRACTION_PROMPT: Final[str] = (
    "आप एक विशेषज्ञ अमेज़न उत्पाद डेटा निकालने वाले हैं। आपका "
    "कार्य प्रदान की गई सामग्री से उत्पाद डेटा निकालना है। "
    "\n\nकेवल मान्य JSON वापस करें जिसमें ठीक ठीक निम्नलिखित "
    "क्षेत्र और फ़ॉर्मेट हैं:\n\n"\
    "{\n"
    "    'title': "string" - उत्पाद का शीर्षक,\n"
    "    'price': number - वर्तमान मूल्य (संख्यात्मक मान "
    "केवल),\n"
    "    'original_price': number या null - यदि उपलब्ध है तो मूल "
    "मूल्य,\n"
    "    'discount': number या null - यदि उपलब्ध है तो छूट प्रतिशत "
    ",\n"
    "    'rating': number या null - औसत रेटिंग (0-5 "
    "स्केल),\n"
    "    'review_count': number या null - समीक्षा की कुल संख्या,\n"
    "    'description': "string" - मुख्य उत्पाद "
    "विवरण,\n"
    "    'features': ["string"] - बुलेट पॉइंट "
    "विशेषताओं की सूची,\n"
    "    'availability': "string" - स्टॉक स्थिति,\n"
    "    'asin': "string" - 10-चर अमेज़न आईडी"\n"
    "}\n\nकेवल JSON वापस करें कोई अतिरिक्त पाठ नहीं।"
)

if __name__ == "__main__":
    url = "<https://www.amazon.com/Black-Office-Chair-Computer-Adjustable/dp/B00FS3VJO>"
    scrape_amazon_product(url)

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

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

जबकि LLaMA 3 विधि सामग्री को संदर्भ में समझकर लचीलापन बढ़ाती है, यह स्वाभाविक रूप से इन निम्न-स्तरीय एंटी-बॉट रक्षा को बायपास नहीं करती है। यहीं पर Scrapeless Scraping Browser जैसे विशेष उपकरण की आवश्यकता होती है। सामान्य-उद्देश्य वाले हैडलेस ब्राउज़रों के विपरीत, Scrapeless Scraping Browser विशेष रूप से मानव ब्राउज़िंग व्यवहार की नक़ल करने और एक विस्तृत श्रेणी की एंटी-बॉट सुरक्षा को बायपास करने के लिए डिज़ाइन किया गया है, जिससे यह मजबूत वेब स्क्रैपिंग के लिए एक सर्वोत्तम विकल्प बनता है।

क्यों Scrapeless Scraping Browser को Bright Data के प्रस्ताव पर चुनें?

जबकि Bright Data एक

स्क्रैपिंग ब्राउज़र प्रदान करता है, Scrapeless एक अधिक डेवलपर-केंद्रित और लचीला समाधान प्रदान करता है जो विशेष रूप से AI-संचालित स्क्रैपिंग वर्कफ्लो के लिए उपयुक्त है। यहाँ क्यों Scrapeless Scraping Browser अनुशंसित विकल्प है:

  • उन्नत फिंगरप्रिंट कस्टमाइजेशन: Scrapeless ब्राउज़र फिंगरप्रिंट, यूजर-एजेंट, डिवाइस विशेषताओं, और अन्य पैरामीटर की गहरी कस्टमाइजेशन की पेशकश करता है। यह आपको अत्यधिक यथार्थवादी ब्राउज़र प्रोफाइल बनाने की अनुमति देता है जो वास्तविक उपयोगकर्ताओं से अप्रभेद्य होते हैं, जिससे पहचान की जोखिम कम होती है।
  • वैश्विक रूप से वितरित प्रॉक्सी नेटवर्क: इसमें एक वैश्विक रूप से वितरित प्रॉक्सी नेटवर्क है जो आपको अपने अनुरोधों को आवासीय और मोबाइल आईपी के विशाल पूल के माध्यम से रूट करने की अनुमति देता है। यह आईपी-आधारित अवरोध और दर सीमा को प्रभावी ढंग से बायपास करता है, जिससे आप पहचान के बिना बड़े पैमाने पर स्क्रैप कर सकते हैं।
  • AI-संचालित स्टेल्थ और बचाव: Scrapeless Scraping Browser AI डेवलपर्स को ध्यान में रखकर बनाया गया है। इसमें गतिशील स्टेल्थ मोड समर्थन और अन्य AI-संचालित बचाव तकनीकें शामिल हैं जो वास्तविक समय में लक्षित वेबसाइट के एंटी-बॉट उपायों के अनुकूलन के लिए अनुकूलित होती हैं। यह सक्रिय दृष्टिकोण आपके स्क्रैपिंग संचालन के लिए उच्च सफलता दर सुनिश्चित करता है।
  • AI वर्कफ्लो के साथ निर्बाध एकीकरण: Scrapeless AI और LLM-आधारित वर्कफ्लो के साथ आसान एकीकरण के लिए डिज़ाइन किया गया है। इसकी API सहज और अच्छी तरह से प्रलेखित है, जिससे इसे आपके पायथन स्क्रिप्टों और अन्य स्वचालन उपकरणों में शामिल करना सरल हो जाता है। यह निर्बाध समाकलन कुशल और स्केलेबल AI-संचालित स्क्रैपिंग समाधान बनाने के लिए महत्वपूर्ण है।
  • लागत-प्रभावशीलता और लचीलापन: Scrapeless आम तौर पर Bright Data जैसी एंटरप्राइज़-फोकस्ड समाधानों की तुलना में एक अधिक लचीला और अक्सर अधिक लागत-प्रभावी मूल्य निर्धारण मॉडल प्रदान करता है। यह इसे व्यक्तिगत डेवलपर्स, शोधकर्ताओं और छोटे से मध्यम आकार के व्यवसायों के लिए एक सुलभ लेकिन शक्तिशाली विकल्प बनाता है।

LLaMA 3 की संदर्भीय समझ को Scrapeless Scraping Browser की उन्नत एंटी-बॉट बचाव क्षमताओं के साथ मिलाकर, आप एक वास्तव में शक्तिशाली वेब स्क्रैपिंग समाधान बना सकते हैं जो बुद्धिमान और लचीला दोनों है।

अगला कदम और उन्नत समाधान

एक बार जब आप LLaMA 3-संचालित वेब स्क्रैपिंग की मूल बातें समझ लें, तो आप अपने स्क्रैपर की क्षमताओं को बढ़ा सकते हैं और अधिक उन्नत कार्यान्वयन का अन्वेषण कर सकते हैं। यहां कुछ सुधार और वैकल्पिक समाधान हैं जिन पर विचार करना है:

  • स्क्रिप्ट को पुन: प्रयोज्य बनाएं: अपनी स्क्रिप्ट को लक्षित URL और डेटा निष्कर्षण प्रॉम्प्ट को कमांड-लाइन तर्कों के रूप में स्वीकार करने के लिए बढ़ाएँ। इससे आपकी स्क्रैपर विभिन्न वेबसाइटों और डेटा निष्कर्षण कार्यों के लिए अधिक लचीला और पुन: प्रयोज्य हो जाएगा।
  • अपने क्रेडेंशियल्स को सुरक्षित रखें: यदि आप Scrapeless Scraping Browser जैसी वाणिज्यिक सेवा का उपयोग कर रहे हैं, तो यह अनिवार्य है कि आप अपनी API कुंजी और क्रेडेंशियल्स को सुरक्षित रूप से हैंडल करें। उन्हें .env फ़ाइल में संग्रहीत करें और अपने स्क्रिप्ट में उन्हें लोड करने के लिए python-dotenv जैसी लाइब्रेरी का उपयोग करें, जिससे आपकी स्रोत कोड में संवेदनशील जानकारी को हार्डकोडिंग से बचा जा सके।
  • बहुपृष्ठ समर्थन लागू करें: उन वेबसाइटों के लिए जिनमें पृष्ठित सामग्री होती है (जैसे, ई-कॉमर्स खोज परिणाम, समाचार अभिलेख), कई पृष्ठों के माध्यम से क्रॉल करने के लिए लॉजिक लागू करें। इसमें आमतौर पर "अगला पृष्ठ" बटन या URL पैटर्न की पहचान करना और सभी इच्छित डेटा संग्रहित होने तक पृष्ठों के माध्यम से.iterate करना शामिल होता है।
  • बड़े पैमाने पर वेबसाइटों को स्क्रैप करें: अन्य जटिल ई-कॉमर्स प्लेटफार्मों, सोशल मीडिया साइटों और डेटा-सम्पन्न वेब अनुप्रयोगों को स्क्रैप करने के लिए Scrapeless Scraping Browser के शक्तिशाली एंटी-डिटेक्शन फीचर्स का लाभ उठाएं।
  • गूगल सेवाओं से डेटा निकालें: Google सेवाओं जैसे Google Flights, Google Search और Google Trends के लिए समर्पित स्क्रैपर्स बनाएं। वैकल्पिक रूप से, सर्च इंजन परिणामों के लिए, एक विशेष SERP API का उपयोग करने पर विचार करें, जो सभी प्रमुख सर्च इंजनों से तैयार-से-उपयोग संरचित डेटा प्रदान कर सकता है, जिससे आपको अपना खुद का स्क्रैपर बनाने और बनाए रखने का प्रयास बच सकता है।

यदि आप प्रबंधित समाधानों को पसंद करते हैं या अन्य LLM-चालित विधियों का पता लगाना चाहते हैं, तो निम्नलिखित विकल्प भी उपयुक्त हो सकते हैं:

  • जेमिनी के साथ स्क्रैपिंग: डेटा निकालने की समान AI-सक्षम क्षमताओं के लिए Google के जेमिनी मॉडलों का अन्वेषण करें।
  • पेरप्लेक्सिटी के साथ स्क्रैपिंग: पेरप्लेक्सिटी AI भी शक्तिशाली भाषा मॉडल प्रदान करता है जिन्हें वेब स्क्रैपिंग कार्यों के लिए अनुकूलित किया जा सकता है।
  • Crawl4AI और DeepSeek के साथ AI स्क्रैपर बनाएं: Crawl4AI और DeepSeek जैसे अन्य विशेष AI स्क्रैपिंग टूल और मॉडल की जांच करें, जो बुद्धिमान डेटा निकालने के लिए डिज़ाइन किए गए हैं।

निष्कर्ष: वेब स्क्रैपिंग का भविष्य बुद्धिमान है

इस गाइड ने LLaMA 3 का उपयोग करके मजबूत और बुद्धिमान वेब स्क्रैपर्स बनाने के लिए एक व्यापक रोडमैप प्रदान किया है। बड़े भाषा मॉडलों की संदर्भात्मक तर्क क्षमताओं को उन्नत स्क्रैपिंग टूल और तकनीकों के साथ मिलाकर, आप पारंपरिक तरीकों की सीमाओं को पार कर सकते हैं और न्यूनतम प्रयास के साथ सबसे जटिल और अच्छी तरह से बचाव वाली वेबसाइटों से संरचित डेटा निकाल सकते हैं।

मुख्य निष्कर्ष यह है कि वेब स्क्रैपिंग का भविष्य केवल स्वचालन के बारे में नहीं है, बल्कि बुद्धिमान स्वचालन के बारे में है। सामग्री को पारिभाषित करने की LLaMA 3 की क्षमता, Scrapeless Scraping Browser जैसे टूल की परिष्कृत एंटी-बॉट बचाव के साथ मिलकर, डेटा निकालने के हमारे दृष्टिकोण में एक पैराडाइम शिफ्ट दर्शाता है। यह शक्तिशाली संयोजन डेवलपर्स और शोधकर्ताओं को स्क्रैपर्स बनाने के लिए सशक्त बनाता है जो न केवल अधिक प्रभावी हैं, बल्कि लगातार विकसित हो रहे वेब परिदृश्य का सामना करते समय अधिक अनुकूलनीय और मजबूत भी हैं।

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

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

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

सूची