एक्सेल VBA और सेलेनियम का उपयोग करना

विषय - सूची:

Anonim

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

सेलेनियम को स्वचालन उपकरण के रूप में वर्गीकृत किया जा सकता है जो HTML क्रोम पेज से जानकारी को स्क्रैप करने की सुविधा देता है ताकि Google क्रोम का उपयोग करके वेब स्क्रैपिंग किया जा सके।

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

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

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

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

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

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

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

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

चरण 4) एक नए सबरूटीन की शुरुआत करें और इसे test2 नाम दें।

उप परीक्षण 2 ()अंत उप

मॉड्यूल में परिणाम निम्न होंगे: -

चरण 5) टूल टैब और संदर्भ सेलेनियम प्रकार लाइब्रेरी के तहत संदर्भ विकल्प पर पहुंचें। निम्न पुस्तकालयों को मॉड्यूल के रूप में संदर्भित किया जाना है क्योंकि यह Google क्रोम खोलने में मदद करता है और मैक्रो स्क्रिप्टिंग के विकास की सुविधा देता है।

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

VBA का उपयोग करके Google Chrome कैसे खोलें?

यहां, VBA का उपयोग करके Google Chrome खोलने के लिए चरण हैं

चरण 1) नीचे दिखाए गए अनुसार सबरूटीन में वैरिएबल को डिक्लेयर और इनिशियलाइज़ करें

उप परीक्षण 2 ()डिम ड्राइवर नए वेबड्राइवर के रूप मेंमंद पंक्ति, cc, स्तंभ पूर्णांक के रूप में

चरण 2) सेलेनियम और VBA का उपयोग करके Google क्रोम खोलने के लिए, ड्राइवर.स्टार्ट "क्रोम" लिखें और F5 दबाएं ।

निम्नलिखित कोड होगा।

उप परीक्षण 2 ()डिम ड्राइवर नए वेबड्राइवर के रूप मेंमंद पंक्ति, cc, स्तंभ पूर्णांक के रूप मेंDriver.start "Chrome"अबअंत उप

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

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

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

प्रदर्शित के रूप में निम्नलिखित चरणों का पालन करें

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

मैक्रो को निष्पादित करने के लिए F5 दबाएँ।

निम्न वेबपेज को क्रोम में प्रदर्शित किए जाने के अनुसार खोला जाएगा

उप परीक्षण 2 ()डिम ड्राइवर नए वेबड्राइवर के रूप मेंमंद पंक्ति, cc, स्तंभ पूर्णांक के रूप मेंDriver.start "Chrome"Driver.get "http://demo.guru99.com/test/web-table-element.php"अबअंत उप

अब स्क्रैप मैक्रो स्क्रैपिंग कार्य करने के संबंध में तैयार है। अगला चरण प्रदर्शित करेगा कि सेलेनियम और VBA को लागू करके जानकारी कैसे निकाली जा सकती है।

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

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

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

<तालिका वर्ग = "डेटा योग्य">

 कंपनी  समूह  पूर्व बंद (रु।)  वर्तमान मूल्य (रु) % परिवर्तन 

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

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

चरण 1) एक संग्रह के रूप में HTML हेडर जानकारी के माध्यम से चलने वाले लूप के लिए फार्म करें। सेलेनियम ड्राइवर को HTML तालिका की हेडर जानकारी ढूंढनी होती है। ऐसा करने के लिए, हम प्रदर्शित किए जाने वाले कार्य को करने के लिए FindElementByClass () और FindElementByTag () विधि का उपयोग करते हैं।

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

उप परीक्षण 2 ()डिम ड्राइवर न्यू वेबड्राइवर के रूप मेंडिम रोच, सीसी, कॉलम एज़ एंगरपंक्ति = २अनुप्रयोग.स्क्रीनयूडेटिंग = गलतड्राइवर। स्टार्ट "क्रोम"Driver.Get "http://demo.guru99.com/test/web-table-element.php"ड्राइवर में प्रत्येक वें के लिए।cc = 1प्रत्येक टी के लिए th.FindElementsByTag ("th")Sheet2.Cells (1, cc) .Value = t.Textcc = cc + १अगलाअगला ध

चरण 2) अगला, सेलेनियम ड्राइवर समान दृष्टिकोण का उपयोग करके तालिका डेटा का पता लगाएगा, जैसा कि ऊपर उल्लेख किया गया है। आपको निम्नलिखित कोड लिखना होगा: -

उप परीक्षण 2 ()डिम ड्राइवर न्यू वेबड्राइवर के रूप मेंडिम रोच, सीसी, कॉलम एज़ एंगरपंक्ति = २अनुप्रयोग.स्क्रीनयूडेटिंग = गलतड्राइवर। स्टार्ट "क्रोम"Driver.Get "http://demo.guru99.com/test/web-table-element.php"ड्राइवर में प्रत्येक वें के लिए।cc = 1प्रत्येक टी के लिए th.FindElementsByTag ("th")Sheet2.Cells (1, cc) .Value = t.Textcc = cc + १अगलाअगला धड्राइवर में प्रत्येक ट्रे के लिए। FindElementByClass ("dataTable")। FindElementByTag ("tbody")। FindElementsByTag ("tr")columnC = 1प्रत्येक td के लिए tr.indElementsByTag ("td") मेंSheet2.Cells (rowc, columnC) .Value = td.TextcolumnC = columnC + १अगली टी.डी.rowc = rowc + 1अगली ट्रेअबअंत उप

Vba मॉड्यूल इस प्रकार दिखेगा: -

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

उप परीक्षण 2 ()डिम ड्राइवर न्यू वेबड्राइवर के रूप मेंडिम रोच, सीसी, कॉलम एज़ एंगरपंक्ति = २अनुप्रयोग.स्क्रीनयूडेटिंग = गलतड्राइवर। स्टार्ट "क्रोम"Driver.Get "http://demo.guru99.com/test/web-table-element.php"ड्राइवर में प्रत्येक वें के लिए।cc = 1प्रत्येक टी के लिए th.FindElementsByTag ("th")Sheet2.Cells (1, cc) .Value = t.Textcc = cc + १अगलाअगला धड्राइवर में प्रत्येक ट्रे के लिए। FindElementByClass ("dataTable")। FindElementByTag ("tbody")। FindElementsByTag ("tr")columnC = 1प्रत्येक td के लिए tr.indElementsByTag ("td") मेंSheet2.Cells (rowc, columnC) .Value = td.TextcolumnC = columnC + १अगली टी.डी.rowc = rowc + 1अगली ट्रेअबअंत उप

Vba मॉड्यूल इस प्रकार दिखेगा: -

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

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

चरण 5) गूगल क्रोम के परिणामों के साथ एक्सेल में परिणामों की तुलना करें

सारांश:

  • सेलेनियम को स्वचालन उपकरण के रूप में वर्गीकृत किया जा सकता है जो HTML क्रोम पेज से जानकारी को स्क्रैप करने की सुविधा देता है ताकि Google क्रोम का उपयोग करके वेब स्क्रैपिंग किया जा सके।
  • इंटरनेट पर स्क्रैपिंग सावधानी से किया जाना चाहिए।
  • यह सामान्य रूप से जानकारी को परिमार्जन करने के लिए वेबसाइट की शर्तों के विरुद्ध है।
  • जब सेलेनियम के माध्यम से स्क्रैपिंग किया जाता है, तो यह कई ब्राउज़र समर्थन प्रदान करता है।
  • दूसरे शब्दों में, स्क्रैपर फ़ायरफ़ॉक्स, इंटरनेट एक्सप्लोरर के माध्यम से भी स्क्रैप करने के समान कार्य कर सकता है।