تجريف الويب باستخدام VBA

ما هو تجريف البيانات؟

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

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

كيفية تحضير Excel Macro قبل إجراء عملية تجريف البيانات باستخدام Internet Explorer؟

هناك بعض المتطلبات الأساسية التي يجب تنفيذها على ملف ماكرو Excel قبل الدخول في عملية تجريف البيانات في Excel.

وهذه الشروط هي كما يلي:-

الخطوة 1) افتح ماكرو يستند إلى Excel وقم بالوصول إلى خيار مطور Excel.

قم بإعداد Excel Macro قبل إجراء عملية تجريف البيانات باستخدام Internet Explorer

الخطوة 2) حدد خيار Visual Basic ضمن شريط المطور.

قم بإعداد Excel Macro قبل إجراء عملية تجريف البيانات باستخدام Internet Explorer

الخطوة 3) أدخل وحدة نمطية جديدة.

قم بإعداد Excel Macro قبل إجراء عملية تجريف البيانات باستخدام Internet Explorer

الخطوة 4) تهيئة روتين فرعي جديد

Sub test()
End sub

ستنتج الوحدة كما يلي: -

قم بإعداد Excel Macro قبل إجراء عملية تجريف البيانات باستخدام Internet Explorer

الخطوة 5) قم بالوصول إلى خيار المرجع ضمن علامة تبويب الأداة والمرجع Microsoft مكتبة كائنات HTML و Microsoft التحكم في الإنترنت.

يجب الإشارة إلى الملفات التالية في الوحدة لأنها تساعد في فتح متصفح Internet Explorer وتسهل تطوير نصوص الماكرو.

قم بإعداد Excel Macro قبل إجراء عملية تجريف البيانات باستخدام Internet Explorer

الآن أصبح ملف Excel جاهزًا للتفاعل مع Internet Explorer. ستكون الخطوة التالية هي دمج نصوص الماكرو التي من شأنها تسهيل عملية استخراج البيانات بتنسيق HTML.

كيفية فتح Internet Explorer باستخدام Excel VBA؟

الخطوة 1) قم بتهيئة المتغير في البرامج الفرعية كما هو موضح أدناه

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

الخطوة 2) لفتح إنترنت إكسبلورر باستخدام VBA، اكتب أي مرئية = صحيح والصحافة F5.

Sub test()
Dim ie As New InternetExplorer 
Dim doc As New HTMLDocument
Ie.visible=true

ستبدو الوحدة كما يلي: -

افتح Internet Explorer باستخدام Excel VBA

افتح Internet Explorer باستخدام Excel VBA

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

فيما يلي خطوات فتح موقع ويب في Internet Explorer باستخدام VBA

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

Sub test()
Dim, ie As New InternetExplorer
Dim doc As New HTMLDocument
Dim ecoll As Object
ie.Visible = True
ie.navigate"http://demo.guru99.com/test/web-table-element.php"
Do
DoEvents
Loop Until ie.readyState = READYSTATE_COMPLETE

الخطوة 2) - اضغط على F5 لتنفيذ الماكرو. سيتم فتح صفحة الويب التالية كما هو موضح

افتح موقع الويب في Internet Explorer باستخدام VBA

الآن، أصبح ماكرو Excel جاهزًا فيما يتعلق بأداء وظائف الكشط. ستعرض الخطوة التالية كيف يمكن استخراج المعلومات من إنترنت إكسبلورر باستخدام VBA.

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

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

من موقع الويب أعلاه، سيكون من الضروري فحص عنصر ما ومراقبة كيفية تنظيم البيانات.

الخطوة 1) قم بالوصول إلى كود المصدر أدناه لـ HTML بالضغط على Control + Shift + I

<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>

سيكون كود المصدر كما يلي: -

Sub test()
Dim ie As New InternetExplorer
Dim doc As New HTMLDocument
Dim ecoll As Object
ie.Visible = True
ie.navigate "http://demo.guru99.com/test/web-table-element.php"
Do
DoEvents
Loop Until ie.readyState = READYSTATE_COMPLETE
Set doc = ie.document

كما يمكن ملاحظة أن البيانات منظمة كجدول HTML واحد. لذلك، من أجل سحب البيانات بأكملها من جدول html، سيتطلب الأمر تصميم ماكرو يقوم بجمع البيانات في شكل مجموعة.

سيتم بعد ذلك لصق المجموعة في برنامج Excel. ولتحقيق النتائج المرجوة قم بالخطوات المذكورة أدناه: –

الخطوة 2) قم بتهيئة مستند Html في الروتين الفرعي

ستبدو وحدة VBA كما يلي: -

الخطوة 3) قم بتهيئة عنصر المجموعة الموجود في مستند HTML

ستبدو وحدة VBA كما يلي: -

Sub test()
Dim ie As New InternetExplorer
Dim doc As New HTMLDocument
Dim ecoll As Object
ie.Visible = True
ie.navigate "http://demo.guru99.com/test/web-table-element.php"
Do
DoEvents
Loop Until ie.readyState = READYSTATE_COMPLETE
Set doc = ie.document
Set ecoll = doc.getElementsByTagName("table")

الخطوة 4) قم بتهيئة خلايا ورقة Excel بمساعدة الحلقة المتداخلة كما هو موضح

ستبدو وحدة VBA كما يلي: -

Sub test()
Dim ie As New InternetExplorer
Dim doc As New HTMLDocument
Dim ecoll As Object

ie.Visible = True
ie.navigate "http://demo.guru99.com/test/web-table-element.php"
Do
DoEvents
Loop Until ie.readyState = READYSTATE_COMPLETE
Set doc = ie.document
Set ecoll = doc.getElementsByTagName("table")

يمكن تهيئة Excel باستخدام سمة النطاق الخاصة بجدول Excel أو من خلال سمة الخلايا الخاصة بجدول Excel. لتقليل تعقيد نص VBA، يتم تهيئة بيانات المجموعة إلى سمة خلايا Excel الخاصة بالجدول 1 الموجودة في المصنف.

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

استخراج المعلومات من موقع الويب باستخدام VBA

الخطوة 5) اضغط على زر التحديث للحصول على الإخراج المذكور أدناه

استخراج المعلومات من موقع الويب باستخدام VBA

الخطوة 6) قارن النتائج في برنامج Excel مع نتائج Internet Explorer

استخراج المعلومات من موقع الويب باستخدام VBA

الملخص

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