VBA के साथ वेब स्क्रैपिंग

विषय - सूची:

Anonim

डेटा स्क्रैपिंग क्या है?

डेटा स्क्रैपिंग वह तकनीक है जो HTML वेब पेज से वांछित जानकारी को अपने स्थानीय मशीन में मौजूद स्थानीय फ़ाइल में निकालने में मदद करती है। आम तौर पर, एक स्थानीय फ़ाइल एक एक्सेल फ़ाइल, शब्द फ़ाइल के अनुरूप हो सकती है, या किसी Microsoft कार्यालय अनुप्रयोग को कहने के लिए। यह वेब पेज से महत्वपूर्ण जानकारी को प्रसारित करने में मदद करता है।

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

इस ट्यूटोरियल में, आप सीखेंगे:

  • डेटा स्क्रैपिंग क्या है?
  • इंटरनेट एक्सप्लोरर का उपयोग करके डेटा स्क्रैपिंग करने से पहले एक्सेल मैक्रो कैसे तैयार करें?
  • एक्सेल VBA का उपयोग करके इंटरनेट एक्सप्लोरर कैसे खोलें?
  • VBA का उपयोग करके इंटरनेट एक्सप्लोरर में वेबसाइट कैसे खोलें?
  • VBA का उपयोग करके वेबसाइट से जानकारी कैसे परिमार्जन करें?

इंटरनेट एक्सप्लोरर का उपयोग करके डेटा स्क्रैपिंग करने से पहले एक्सेल मैक्रो कैसे तैयार करें?

कुछ आवश्यक शर्तें हैं जो एक्सेल में डेटा स्क्रैपिंग की प्रक्रिया में आने से पहले एक्सेल मैक्रो फ़ाइल पर प्रदर्शन किया जाना है।

ये शर्तें इस प्रकार हैं: -

चरण 1) एक एक्सेल-आधारित मैक्रो खोलें और एक्सेल के डेवलपर विकल्प तक पहुंचें।

चरण 2) डेवलपर रिबन के तहत विज़ुअल बेसिक विकल्प का चयन करें।

चरण 3) एक नया मॉड्यूल डालें।

चरण 4) एक नए सबरूटीन को प्रारंभ करें

Sub test()End sub

मॉड्यूल इस प्रकार होगा: -

चरण 5) टूल टैब के तहत संदर्भ विकल्प तक पहुँचें और Microsoft HTML ऑब्जेक्ट लाइब्रेरी और Microsoft इंटरनेट नियंत्रण का संदर्भ लें।

निम्न फ़ाइलों को मॉड्यूल को संदर्भित किया जाना है क्योंकि यह इंटरनेट एक्सप्लोरर को खोलने में मदद करता है और मैक्रो स्क्रिप्टिंग के विकास की सुविधा प्रदान करता है।

अब इंटरनेट एक्सप्लोरर के साथ बातचीत करने के लिए एक्सेल फाइल तैयार है। अगला कदम मैक्रो स्क्रिप्ट को शामिल करना होगा जो HTML में डेटा स्क्रैपिंग की सुविधा प्रदान करेगा।

एक्सेल VBA का उपयोग करके इंटरनेट एक्सप्लोरर कैसे खोलें?

चरण 1) नीचे दिखाए गए अनुसार सबरूटीन्स में वैरिएबल को प्रारंभ करें

Sub test()Dim ie As New InternetExplorerDim doc As New HTMLDocument

चरण 2) VBA का उपयोग करके इंटरनेट एक्सप्लोरर खोलने के लिए, दृश्यमान = सही लिखें और F5 दबाएँ

Sub test()Dim ie As New InternetExplorerDim doc As New HTMLDocumentIe.visible=true

मॉड्यूल निम्नानुसार दिखेगा: -

VBA का उपयोग करके इंटरनेट एक्सप्लोरर में वेबसाइट कैसे खोलें?

यहां, वीबीए का उपयोग करके इंटरनेट शोषक में वेबसाइट खोलने के चरण हैं

चरण 1) जब आप एक्सेल वीबीए का उपयोग करके इंटरनेट एक्सप्लोरर का उपयोग करने में सक्षम हो जाते हैं, तो अगला कदम एनबीए का उपयोग करके वेबसाइट तक पहुंचना शामिल होगा। यह नेविगेट विशेषता द्वारा सुविधा प्रदान करता है, जिसमें URL को विशेषता में दोहरे उद्धरण चिह्नों के रूप में पास करना होता है। प्रदर्शित के रूप में निम्न चरणों का पालन करें।

Sub test()Dim, ie As New InternetExplorerDim doc As New HTMLDocumentDim ecoll As Objectie.Visible = Trueie.navigate"http://demo.guru99.com/test/web-table-element.php"DoDoEventsLoop Until ie.readyState = READYSTATE_COMPLETE

चरण 2) - मैक्रो को निष्पादित करने के लिए F5 दबाएं। निम्न वेबपेज प्रदर्शित होते ही खुल जाएगा

अब, स्क्रैप मैक्रो स्क्रैपिंग फ़ंक्शन करने के लिए सम्मान के साथ तैयार है। अगला चरण यह प्रदर्शित करेगा कि कैसे VBA का उपयोग करके इंटरनेट एक्सप्लोरर से जानकारी निकाली जा सकती है।

VBA का उपयोग करके वेबसाइट से जानकारी कैसे परिमार्जन करें?

मान लीजिए कि व्यापारी दैनिक आधार पर वेबसाइट से डेटा एक्सेस करना चाहता है। हर बार जब दिन व्यापारी क्लिक बटन दबाता है, तो उसे बाजार डेटा को एक्सेल में ऑटो करना चाहिए।

उपरोक्त वेबसाइट से, एक तत्व का निरीक्षण करना और यह देखना आवश्यक होगा कि डेटा कैसे संरचित है।

चरण 1) नियंत्रण + Shift + I दबाकर HTML के नीचे स्रोत कोड तक पहुंचें

स्रोत कोड इस प्रकार होगा: -

Sub test()Dim ie As New InternetExplorerDim doc As New HTMLDocumentDim ecoll As Objectie.Visible = Trueie.navigate "http://demo.guru99.com/test/web-table-element.php"DoDoEventsLoop Until ie.readyState = READYSTATE_COMPLETESet doc = ie.document

जैसा कि यह देखा जा सकता है कि डेटा एकल HTML तालिका के रूप में संरचित है। इसलिए, html तालिका से संपूर्ण डेटा खींचने के लिए, उसे मैक्रो के डिजाइन की आवश्यकता होगी जो डेटा को संग्रह के रूप में एकत्र करता है।

संग्रह तब एक्सेल में चिपकाया जाएगा। प्राप्त करने के लिए, वांछित परिणाम नीचे दिए गए चरणों का पालन करते हैं: -

चरण 2) सबरूटीन में एचटीएमएल दस्तावेज़ को प्रारंभ करें

VBA मॉड्यूल निम्नानुसार दिखेगा: -

चरण 3) HTML दस्तावेज़ में मौजूद संग्रह तत्व को प्रारंभ करें

VBA मॉड्यूल निम्नानुसार दिखेगा: -

Sub test()Dim ie As New InternetExplorerDim doc As New HTMLDocumentDim ecoll As Objectie.Visible = Trueie.navigate "http://demo.guru99.com/test/web-table-element.php"DoDoEventsLoop Until ie.readyState = READYSTATE_COMPLETESet doc = ie.documentSet ecoll = doc.getElementsByTagName("table")

चरण 4) नेस्टेड लूप की मदद से एक्सेल शीट कोशिकाओं को शुरू में दिखाया गया है

VBA मॉड्यूल निम्नानुसार दिखेगा: -

Sub test()Dim ie As New InternetExplorerDim doc As New HTMLDocumentDim ecoll As Objectie.Visible = Trueie.navigate "http://demo.guru99.com/test/web-table-element.php"DoDoEventsLoop Until ie.readyState = READYSTATE_COMPLETESet doc = ie.documentSet ecoll = doc.getElementsByTagName("table")

एक्सेल शीट की रेंज विशेषता का उपयोग करके या एक्सेल शीट के सेल विशेषता के माध्यम से एक्सेल को आरंभ किया जा सकता है। VBA स्क्रिप्ट की जटिलता को कम करने के लिए, संग्रह डेटा को कार्यपुस्तिका में मौजूद शीट 1 की एक्सेल सेल विशेषता के लिए आरंभीकृत किया जाता है।

एक बार मैक्रो स्क्रिप्ट तैयार हो जाने के बाद, सबरूटीन को एक्सेल बटन को पास और असाइन करें और VBA के मॉड्यूल से बाहर निकलें। बटन को रिफ्रेश या किसी भी उपयुक्त नाम के रूप में लेबल करें जो इसे इनिशियलाइज़ किया जा सकता है। इस उदाहरण के लिए, बटन को रिफ्रेश के रूप में इनिशियलाइज़ किया जाता है।

चरण 5) नीचे दिए गए आउटपुट को प्राप्त करने के लिए रिफ्रेश बटन दबाएं

चरण 6) इंटरनेट एक्सप्लोरर के परिणामों के साथ एक्सेल में परिणामों की तुलना करें

सारांश:

  • डेटा स्क्रैपिंग उपयोगकर्ता को केवल उस जानकारी को बाहर निकालने की अनुमति देता है जो उपयोगकर्ता चाहता है।
  • इंटरनेट एक्सप्लोरर का उपयोग करके स्क्रैपिंग किया जा सकता है।
  • इंटरनेट एक्सप्लोरर के मामले में स्क्रैपिंग की प्रक्रिया धीमी है; हालाँकि, यह उपयोगकर्ता को वांछित परिणाम प्रदान करता है।
  • स्क्रैपिंग को पूरी सावधानी और सावधानी के साथ किया जाना चाहिए क्योंकि यह स्क्रैपिंग के लिए उपयोग की जा रही प्रणाली को नुकसान पहुंचा सकता है और दुर्घटनाग्रस्त कर सकता है।
CompanyGroupPre Close (Rs)Current Price (Rs)% Change