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

एक्सेल VBA वेब स्क्रैपिंग

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

VBA के साथ वेब स्क्रैपिंग का अर्थ है जब हम वेब पर अन्य स्रोतों से डेटा लाने के लिए VBA का उपयोग करते हैं, तो इसके लिए डेटा स्रोतों के लिए लॉगिन की आवश्यकता हो सकती है, लेकिन सबसे पहले, ऐसा करने के लिए, हमें टूल सेक्शन से संदर्भों को सक्षम करने की आवश्यकता होती है। VBA से वेब तक पहुँचने के लिए Microsoft HTML लाइब्रेरी के लिए VBA संपादक।

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

आमतौर पर, हम वेब पेज खोलते हैं, डेटा को कॉपी करते हैं, और इसे हमारी फाइलों जैसे कि एक्सेल, वर्ड या कुछ अन्य फाइलों में पेस्ट करते हैं। लेकिन इस लेख में, हम आपको दिखाएंगे कि एक्सेल से वेबसाइटों तक कैसे पहुंचें और कई अन्य प्रकार के सामान करें।

VBA का उपयोग करके वेबसाइट डेटा कैसे स्क्रैप करें?

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

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

वेब स्क्रैप के लिए नीचे दिए गए चरणों का पालन करें।

चरण 1: वीबीए चर को परिभाषित करें और डेटा प्रकार को " इंटरनेट एक्सप्लोरर " के रूप में निर्दिष्ट करें

कोड:

उप Web_Scraping () मंद Internet_Explorer इंटरनेट अंत उप के रूप में

जैसा कि आप ऊपर देख सकते हैं, जब हम इंटरनेट एक्सप्लोरर के संदर्भ को सेट करने का प्रयास करते हैं, तो हमें "इंटरनेट एक्सप्लोरर" देखने को नहीं मिलता है क्योंकि यह "इंटरनेट एक्सप्लोरर" एक बाहरी वस्तु है इसलिए हमें संदर्भ सेट करने की आवश्यकता है।

चरण 2: संदर्भ सेट करने के लिए " टूल " पर जाएं और " संदर्भ " चुनें ।

नीचे की विंडो में, नीचे स्क्रॉल करें और " Microsoft इंटरनेट नियंत्रण " चुनें ।

चरण 3: "Microsoft इंटरनेट नियंत्रण" के बॉक्स की जाँच करें और Ok पर क्लिक करें। अब हमें IntelliSense सूची में इस ऑब्जेक्ट का नाम देखना चाहिए।

कोड:

उप Web_Scraping () मंद Internet_Explorer अंत अंत उप के रूप में

चरण 4: "InternetExplorer" चुनें।

कोड:

उप Web_Scraping () मंद Internet_Explorer InternetExplorer अंत उप के रूप में

चरण 5: अगला, हमें इंटरनेट एक्सप्लोरर को सक्षम करने के लिए संदर्भ सेट करने की आवश्यकता है। चूंकि यह एक वस्तु चर है, इसलिए हमें संदर्भ सेट करने के लिए " सेट " कीवर्ड का उपयोग करने की आवश्यकता है ।

कोड:

उप Web_Scraping () मंद Internet_Explorer InternetExplorer के रूप में Internet_Explorer सेट करें = नया InternetExplorer अंत उप

चरण 6: अब, “ Internet_Explorer ” चर का उपयोग करके , हम इंटरनेट एक्सप्लोरर के गुणों और विधियों का उपयोग कर सकते हैं।

चर नाम दर्ज करें और IntelliSense सूची देखने के लिए एक डॉट डालें।

कोड:

उप Web_Scraping () मंद Internet_Explorer InternetExplorer के रूप में Internet_Explorer = नया InternetExplorer Internet_Explorer सेट करें। अंत उप

चरण 7: अब, इंटरनेट एक्सप्लोरर एप्लिकेशन को देखने के लिए, हमें " दृश्यमान " संपत्ति चुनने और इसे " सही " के रूप में सेट करने की आवश्यकता है ।

कोड:

उप Web_Scraping () मंद Internet_Explorer InternetExplorer में Internet_Explorer सेट करें। नया InternetExplorer Internet_Explorer.Vanish = True End उप

अब कोड चलाएं, और आपको अपने कंप्यूटर पर एक इंटरनेट एक्सप्लोरर खुलता हुआ दिखना चाहिए ।

चरण 8: क्योंकि किसी वेब पते का उल्लेख नहीं किया गया है, हम केवल एक खाली पृष्ठ देख सकते हैं। इंटरनेट एक्सप्लोरर को वेब पता देने के लिए, हमें " नेविगेशन " विधि की आवश्यकता है।

कोड:

उप Web_Scraping () मंद Internet_Explorer InternetExplorer में Internet_Explorer सेट करें। नया InternetExplorer Internet_Explorer.Vanish = True Internet_Explorer.Navigate (अंतिम उप)

Step 9: As you can see above “Navigation” method asking which URL to be navigated in internet explorer. Now I need to open the website “Wallstreetnmojo,” and I can give the URL address as follows. “https://www.wallstreetmojo.com/”

Code:

Sub Web_Scraping() Dim Internet_Explorer As InternetExplorer Set Internet_Explorer = New InternetExplorer Internet_Explorer.Visible = True Internet_Explorer.Navigate ("https://www.wallstreetmojo.com") End Sub

Now run the code, we should see the mentioned web address page in internet explorer.

Here we have a problem that once the web page is opened, our code needs to wait until the page web page fully opened.

Step 10: We need to use the “Do While” loop in VBA to actually wait for our code to go any further until the mentioned page is fully loaded.

So, add below the “Do While” loop to force the macro to wait until the mentioned web page comes to the “Ready State Complete” mode.

Code:

Sub Web_Scraping() Dim Internet_Explorer As InternetExplorer Set Internet_Explorer = New InternetExplorer Internet_Explorer.Visible = True Internet_Explorer.Navigate ("https://www.wallstreetmojo.com") Do While Internet_Explorer.ReadyState READYSTATE_COMPLETE: Loop End Sub

Step 11: Now, let’s try to get information about the website in a single line. To get the information about the mentioned web address information, we need to use the “Location Name” property.

Code:

Sub Web_Scraping() Dim Internet_Explorer As InternetExplorer Set Internet_Explorer = New InternetExplorer Internet_Explorer.Visible = True Internet_Explorer.Navigate ("https://www.wallstreetmojo.com") Do While Internet_Explorer.ReadyState READYSTATE_COMPLETE: Loop MsgBox Internet_Explorer.LocationName End Sub

Run the code, and in the message box, we would get the information about the website.

Step 12: Now, at the bottom, we can also print website addresses as well.

Code:

उप Web_Scraping () मंद Internet_Explorer InternetExplorer के रूप में Internet_Explorer सेट करें। नया InternetExplorer Internet_Explorer.Vanish = True Internet_Explorer.Navigate ("https://www.wallVreetreetmojo.com") Do करते हैं जबकि Internet_Explorer.ReadyState READYSTATE_COMPLUTE.in/PL/EPLPLE.COM/PLIPE: www.P/P/Al.pc=/LPG_scraping: InternetExplorer में इंटरनेट के रूप में स्थापित करें। & Internet_Explorer.LocationURL समाप्ति उप

अब यह वेबसाइट विवरण के बारे में बताएगा और साथ ही वेबसाइट का पता भी दिखाता है।

यहां याद रखने योग्य बातें

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

दिलचस्प लेख...