كشط ويب VBA | كيفية إلغاء مواقع الويب باستخدام Excel VBA؟

برنامج Excel VBA Web Scraping

VBA Web Scraping هي تقنية للوصول إلى صفحات الويب وتنزيل البيانات من هذا الموقع إلى ملفات الكمبيوتر الخاصة بنا. يمكن تجريف الويب عن طريق الوصول إلى تطبيقات خارجية مثل Internet Explorer. يمكننا القيام بذلك بطريقتين ، أي التجليد المبكر والتجليد المتأخر.

يعني تجريف الويب باستخدام VBA أنه عندما نستخدم VBA لجلب البيانات من المصادر الأخرى على الويب ، فقد يتطلب ذلك عمليات تسجيل دخول لمصادر البيانات ، ولكن أولاً ، للقيام بذلك ، نحتاج إلى تمكين المراجع من قسم الأدوات في محرر VBA لمكتبة Microsoft HTML للوصول إلى الويب من VBA.

لا يعرف الكثير منا أنه من خلال برنامج Excel ، يمكننا الوصول إلى صفحات الويب والحصول على البيانات من صفحات الويب هذه. نعم ، لقد سمعتها بشكل صحيح. يمكننا البحث عن صفحات الويب والوصول إلى تطبيقات التصفح وغير ذلك الكثير. في هذه المقالة ، سنوضح لك كيفية كتابة رمز Excel VBA لكشط الويب بالتفصيل.

عادة ، نفتح صفحات الويب ونسخ البيانات ولصقها في ملفاتنا مثل excel أو word أو بعض الملفات الأخرى. ولكن في هذه المقالة ، سوف نوضح لك كيفية الوصول إلى مواقع الويب من برنامج Excel والقيام بالعديد من أنواع الأشياء الأخرى.

كيفية استخلاص بيانات موقع الويب باستخدام VBA؟

يمكنك تنزيل قالب Excel الخاص ببرنامج VBA Web Scraping من هنا - قالب Excel لاستخراج بيانات ويب VBA

عندما نريد الوصول إلى أي تطبيقات أخرى من Excel ، يمكننا القيام بذلك بطرق مثل "الربط المبكر" و "الربط المتأخر". في مرحلة المبتدئين ، من الآمن دائمًا استخدام تقنية "التجليد المبكر".

للوصول إلى موقع الويب ، نحتاج إلى تصفح التطبيقات ، على سبيل المثال ، " Internet Explorer ". نظرًا لأنه كائن خارجي ، نحتاج إلى تعيين المرجع أولاً.

اتبع الخطوات أدناه لخردة الويب.

الخطوة 1: حدد متغير VBA وقم بتعيين نوع البيانات كـ " Internet Explorer ".

رمز:

 Sub Web_Scraping () Dim Internet_Explorer كـ internet End Sub 

كما ترى أعلاه عندما نحاول تعيين المرجع إلى Internet Explorer ، فإننا لا نستطيع رؤية "Internet Explorer" ، وذلك لأن "Internet Explorer" هو كائن خارجي لذلك نحتاج إلى تعيين المرجع.

الخطوة 2: لتعيين المرجع ، انتقل إلى " الأدوات " واختر " المراجع ".

في النافذة أدناه ، قم بالتمرير لأسفل واختر " Microsoft Internet Controls ".

الخطوة 3: حدد مربع "Microsoft Internet Controls" وانقر على موافق. الآن يجب أن نرى اسم الكائن هذا في قائمة IntelliSense.

رمز:

 فرعي Web_Scraping () خافت Internet_Explorer كـ inter End Sub 

الخطوة 4: اختر "InternetExplorer".

رمز:

 Sub Web_Scraping () Dim Internet_Explorer كـ InternetExplorer End Sub 

الخطوة 5: بعد ذلك ، نحتاج إلى تعيين المرجع لتمكين Internet Explorer. نظرًا لأن هذا متغير كائن ، نحتاج إلى استخدام الكلمة الأساسية " Set " لتعيين المراجع.

رمز:

 فرعي Web_Scraping () Dim Internet_Explorer حيث تعيين InternetExplorer Internet_Explorer = New InternetExplorer End Sub 

الخطوة 6: الآن باستخدام المتغير " Internet_Explorer " يمكننا استخدام خصائص وطرق Internet Explorer.

أدخل اسم المتغير وضع نقطة لرؤية قائمة IntelliSense.

رمز:

فرعي Web_Scraping () Dim Internet_Explorer حيث تعيين InternetExplorer Internet_Explorer = New InternetExplorer Internet_Explorer. End Sub

الخطوة 7: الآن لعرض تطبيق Internet Explorer ، نحتاج إلى اختيار الخاصية " Visible " وتعيين الحالة على " True ".

رمز:

 فرعي Web_Scraping () Dim Internet_Explorer حيث تعيين InternetExplorer Internet_Explorer = New InternetExplorer Internet_Explorer.Visible = True End Sub 

قم الآن بتشغيل الكود وسترى Internet Explorer مفتوحًا على جهاز الكمبيوتر الخاص بك.

الخطوة 8: نظرًا لعدم ذكر عنوان ويب ، يمكننا رؤية صفحة فارغة فقط. لإعطاء عنوان الويب إلى Internet Explorer ، نحتاج إلى طريقة " التنقل ".

رمز:

 فرعي Web_Scraping () Dim Internet_Explorer حيث تعيين InternetExplorer Internet_Explorer = New InternetExplorer Internet_Explorer.Visible = True Internet_Explorer.Navigate (End Sub 

الخطوة 9: كما ترى أعلاه ، تسأل طريقة "التنقل" عن عنوان URL الذي سيتم التنقل فيه في Internet Explorer. الآن أنا بحاجة إلى فتح موقع الويب " Wallstreetnmojo " ويمكنني إعطاء عنوان URL على النحو التالي. “//www.wallstreetmojo.com/”

رمز:

 فرعي Web_Scraping () Dim Internet_Explorer حيث تعيين InternetExplorer Internet_Explorer = New InternetExplorer Internet_Explorer.Visible = True Internet_Explorer.Navigate ("//www.wallstreetmojo.com") End Sub 

الآن قم بتشغيل الكود ، يجب أن نرى صفحة عنوان الويب المذكورة في Internet Explorer.

هنا لدينا مشكلة أنه بمجرد فتح صفحة الويب ، يحتاج كودنا إلى الانتظار حتى يتم فتح صفحة الويب بالكامل.

الخطوة 10: نحتاج إلى استخدام حلقة "Do while" في VBA للانتظار فعليًا حتى تنتقل الشفرة إلى أبعد من ذلك حتى يتم تحميل الصفحة المذكورة بالكامل.

لذلك ، أضف أدناه حلقة "Do while" لإجبار الماكرو على الانتظار حتى تصل صفحة الويب المذكورة إلى وضع " Ready State Complete ".

رمز:

 فرعي Web_Scraping () Dim Internet_Explorer حيث تعيين InternetExplorer Internet_Explorer = New InternetExplorer Internet_Explorer.Visible = True Internet_Explorer.Navigate ("//www.wallstreetmojo.com") قم أثناء Internet_Explorer.ReadyState READYSTATE_COMPLETE: Loop End Sub 

الخطوة 11: لنحاول الآن الحصول على معلومات حول الموقع في سطر واحد. للحصول على معلومات حول معلومات عنوان الويب المذكورة ، نحتاج إلى استخدام خاصية " اسم الموقع ".

رمز:

 فرعي Web_Scraping () خافت Internet_Explorer حيث تعيين InternetExplorer Internet_Explorer = New InternetExplorer Internet_Explorer.Visible = True Internet_Explorer.Navigate ("//www.wallstreetmojo.com") قم أثناء Internet_Explorer.ReadyState READYSTATE_COMPLETE: Loop End MsgBox InternetName 

قم بتشغيل الكود وفي مربع الرسائل ، سنحصل على معلومات حول موقع الويب.

الخطوة 12: الآن في الجزء السفلي ، يمكننا أيضًا طباعة عناوين مواقع الويب أيضًا.

رمز:

 فرعي Web_Scraping () Dim Internet_Explorer كـ InternetExplorer تعيين Internet_Explorer = New InternetExplorer Internet_Explorer.Visible = True Internet_Explorer.Navigate ("//www.wallstreetmojo.com") قم أثناء Internet_Explorer.ReadyState READYSTATE_COMPLETE: Loop & Msplorer.Explorer.Navigate ("//www.wallstreetmojo.com") .LocationURL End Sub 

الآن سيخبر هذا عن وصف موقع الويب ويعرض أيضًا عنوان موقع الويب.

أشياء يجب تذكرها هنا

  • يمكن تجريف الويب عن طريق الوصول إلى تطبيقات خارجية مثل Internet Explorer.
  • يمكننا القيام بذلك بطريقتين ، أي التجليد المبكر والتجليد المتأخر. باستخدام الربط المبكر ، يمكننا الاطلاع على قائمة التحسس الذكي ولكن مع الربط المتأخر ، لا يمكننا رؤية قائمة التحسس الذكي على الإطلاق.

$config[zx-auto] not found$config[zx-overlay] not found