Selenium VBA एक्सेल ट्यूटोरियल: क्रोम वेब स्क्रैचping उदाहरण

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

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

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

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

ये पूर्वापेक्षाएँ इस प्रकार हैं: –

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

डेटा स्क्रैप करने से पहले एक्सेल मैक्रो तैयार करेंping

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

डेटा स्क्रैप करने से पहले एक्सेल मैक्रो तैयार करेंping

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

डेटा स्क्रैप करने से पहले एक्सेल मैक्रो तैयार करेंping

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

Sub test2()
End sub

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

डेटा स्क्रैप करने से पहले एक्सेल मैक्रो तैयार करेंping

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

डेटा स्क्रैप करने से पहले एक्सेल मैक्रो तैयार करेंping

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

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

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

चरण 1) सबरूटीन में वेरिएबल्स को घोषित और आरंभ करें जैसा कि नीचे दिखाया गया है

Sub test2()
Dim driver as new webdriver
Dim rowc, cc, columnC as integer

चरण 2) सेलेनियम और VBA का उपयोग करके Google क्रोम खोलने के लिए, driver.start “chrome” लिखें और दबाएँ F5.

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

Sub test2()
Dim driver as new webdriver
Dim rowc, cc, columnC as integer
Driver.start "Chrome"
Application.Wait Now+Timevalue("00:00:20")
End sub

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

प्रारंभिक Google Chrome वीबीए का उपयोग करना

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

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

दिखाए गए अनुसार निम्नलिखित चरणों का पालन करें

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

वेबसाइट खोलें Google Chrome वीबीए का उपयोग करना

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

निम्न वेबपेज गूगल क्रोम में खुलेगा जैसा कि दिखाया गया है

Sub test2()
Dim driver as new webdriver
Dim rowc, cc, columnC as integer
Driver.start "Chrome"
Driver.get "https://demo.guru99.com/test/web-table-element.php"
Application.Wait Now+Timevalue("00:00:20")
End sub

वेबसाइट खोलें Google Chrome वीबीए का उपयोग करना

अब एक्सेल मैक्रो स्क्रैच करने के लिए तैयार है।ping कार्य। अगला चरण यह प्रदर्शित करेगा कि जानकारी कैसे निकाली जा सकती है।tracसेलेनियम और वीबीए का उपयोग करके इसे तैयार किया गया।

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

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

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

<table class="datatable">
<thead>
<tr>
<th>Company</th>
<th>Group</th>
<th>Pre Close (Rs)</th>
<th>Current Price (Rs)</th>
<th>% Change</th>
</tr>

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

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

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

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

Sub test2()
Dim driver As New WebDriver
Dim rowc, cc, columnC As Integer
rowc = 2
Application.ScreenUpdating = False
driver.Start "chrome"
driver.Get "https://demo.guru99.com/test/web-table-element.php"
For Each th In driver.FindElementByClass("dataTable").FindElementByTag("thead").FindElementsByTag("tr")
cc = 1
For Each t In th.FindElementsByTag("th")
Sheet2.Cells(1, cc).Value = t.Text
cc = cc + 1
Next t
Next th

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

Sub test2()
Dim driver As New WebDriver
Dim rowc, cc, columnC As Integer
rowc = 2
Application.ScreenUpdating = False
driver.Start "chrome"
driver.Get"https://demo.guru99.com/test/web-table-element.php"
For Each th In driver.FindElementByClass("dataTable").FindElementByTag("thead").FindElementsByTag("tr")
cc = 1
For Each t In th.FindElementsByTag("th")
Sheet2.Cells(1, cc).Value = t.Text
cc = cc + 1
Next t
Next th
For Each tr In driver.FindElementByClass("dataTable").FindElementByTag("tbody").FindElementsByTag("tr")
columnC = 1
For Each td In tr.FindElementsByTag("td")
Sheet2.Cells(rowc, columnC).Value = td.Text
columnC = columnC + 1
Next td
rowc = rowc + 1
Next tr
Application.Wait Now + TimeValue("00:00:20")
End Sub

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

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

Sub test2()
Dim driver As New WebDriver
Dim rowc, cc, columnC As Integer
rowc = 2
Application.ScreenUpdating = False
driver.Start "chrome"
driver.Get"https://demo.guru99.com/test/web-table-element.php"
For Each th In driver.FindElementByClass("dataTable").FindElementByTag("thead").FindElementsByTag("tr")
cc = 1
For Each t In th.FindElementsByTag("th")
Sheet2.Cells(1, cc).Value = t.Text
cc = cc + 1
Next t
Next th
For Each tr In driver.FindElementByClass("dataTable").FindElementByTag("tbody").FindElementsByTag("tr")
columnC = 1
For Each td In tr.FindElementsByTag("td")
Sheet2.Cells(rowc, columnC).Value = td.Text
columnC = columnC + 1
Next td
rowc = rowc + 1
Next tr
Application.Wait Now + TimeValue("00:00:20")
End Sub

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

VBA का उपयोग करके वेबसाइट से जानकारी निकालना

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

VBA का उपयोग करके वेबसाइट से जानकारी निकालना

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

VBA का उपयोग करके वेबसाइट से जानकारी निकालना

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

VBA का उपयोग करके वेबसाइट से जानकारी निकालना

सारांश

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

इस पोस्ट को संक्षेप में इस प्रकार लिखें: