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

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

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

من موقع الويب الذي سبق وفتحناه باستخدام Excel VBA في المقال السابق، سيكون من الضروري فحص عنصر ومراقبة كيفية تنظيم البيانات.

الخطوة 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")

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

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


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


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


 شاهد أيضًا: صيغ الدالة AREAS واستخدامها في برنامج MICROSOFT EXCEL

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

Post a Comment

أحدث أقدم