VBA Web Scraping على التفوق

⚡ ملخص ذكي

مسح الويبping باستخدام VBA extracنقل بيانات ts من صفحات الويب HTML مباشرةً إلى Excel، باستخدام أتمتة Internet Explorer و Microsoft مكتبة كائنات HTML للتنقل في موقع، وقراءة جدول HTML، وكتابة القيم المجمعة في خلايا ورقة العمل.

  • 🧰 أتمتة VBA: يقوم برنامج VBA بتشغيل متصفح إنترنت إكسبلورر من برنامج إكسل لتحميل صفحة ويب وقراءة صفحتها بتنسيق HTML.
  • 📚 المراجع المطلوبة: Microsoft مكتبة كائنات HTML و Microsoft يجب الإشارة إلى عناصر التحكم الخاصة بالإنترنت في المشروع.
  • 🌐 طريقة التنقل: تفتح طريقة Navigate هدفًا URLوينتظر الكود حتى تصبح الصفحة جاهزة.
  • 🧱 تحليل جداول HTML: تقوم الدالة getElementsByTagName بقراءة الجدول بحيث يمكن المرور على صفوفه وخلاياه.
  • 📊 الكتابة إلى الخلايا: تُكتب القيم المجمعة في خلايا ورقة العمل، وغالبًا ما تكون خلف زر التحديث.
  • 🤖 مساعدة الذكاء الاصطناعي: تقوم أدوات الذكاء الاصطناعي والمساعدون الآن بتوليد خراطيشping قم ببرمجة وتكييف المحددات عند تغيير التخطيطات.

VBA Web Scraping على التفوق

ما هو مسح البيانات؟ping?

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

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

كيفية إعداد ماكرو Excel قبل استخراج البياناتping (متصفح الانترنت)

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

وهذه المتطلبات الأساسية هي كالتالي:

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

قم بإعداد ماكرو Excel قبل استخراج البياناتping باستخدام متصفح إنترنت إكسبلورر

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

قم بإعداد ماكرو Excel قبل استخراج البياناتping باستخدام متصفح إنترنت إكسبلورر

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

قم بإعداد ماكرو Excel قبل استخراج البياناتping باستخدام متصفح إنترنت إكسبلورر

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

Sub test()
End Sub

ستكون نتيجة الوحدة على النحو التالي:

قم بإعداد ماكرو Excel قبل استخراج البياناتping باستخدام متصفح إنترنت إكسبلورر

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

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

الرقم المرجعي Microsoft مكتبة كائنات HTML وعناصر تحكم الإنترنت

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

كيفية فتح متصفح إنترنت إكسبلورر باستخدام لغة VBA في برنامج إكسل

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

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

الخطوة 2) لفتح متصفح إنترنت إكسبلورر باستخدام VBA، اكتب ie.Visible = True واضغط على 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

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

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

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

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

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

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

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

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

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

الخطوة 1) يمكنك الوصول إلى شفرة المصدر لملف HTML أدناه بالضغط على مفتاحي Control + 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>

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

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

كما تلاحظ، البيانات مُهيكلة في جدول HTML واحد. لذا، لاستخراج البيانات كاملةً من جدول HTML، يجب تصميم ماكرو يجمع البيانات كمجموعة.

ثم يتم لصق المجموعة في برنامج إكسل. لتحقيق النتائج المرجوة، اتبع الخطوات التالية.

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

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

Sub test()
Dim ie As New InternetExplorer
Dim doc As New HTMLDocument
Dim ecoll As Object
ie.Visible = True
ie.Navigate "https://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 باستخدام حلقة متداخلة كما هو موضح.

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

ie.Visible = True
ie.Navigate "https://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 باستخدام خاصية النطاق أو خاصية الخلايا في ورقة العمل. ولتبسيط نص VBA البرمجي، يتم تهيئة بيانات المجموعة باستخدام خاصية الخلايا في ورقة العمل رقم 1 في المصنف.

بعد تجهيز نص الماكرو، قم بتعيين الإجراء الفرعي لزر في برنامج Excel ثم اخرج من وحدة VBA. سمِّ الزر "تحديث" أو أي اسم مناسب آخر. في هذا المثال، الزر مُسمى "تحديث".

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

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

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

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

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

الأسئلة الشائعة

يلزم وجود مرجعين في محرر VBA ضمن الأدوات، المراجع: Microsoft مكتبة كائنات HTML و Microsoft أدوات التحكم في الإنترنت. تسمح هذه الأدوات لبرنامج VBA بفتح متصفح إنترنت إكسبلورر، والتنقل إلى... URLواقرأ عناصر HTML للصفحة.

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

تم إيقاف دعم متصفح إنترنت إكسبلورر، لذا تستخدم المشاريع الحديثة... Selenium VBA النهج الذي يُشغّل متصفح كروم، Firefox، أو الحافة. Selenium يوفر دعمًا لمتصفحات متعددة وتحديدًا أكثر موثوقية لعناصر المواقع الإلكترونية الحالية.

نعم. يمكن لبرامج استخراج البيانات ومساعدي الطيارين المدعومة بالذكاء الاصطناعي تحديد حقول البيانات، وإنشاء أمثلةtracتقوم نماذج التعلم الآلي بتحليل التعليمات البرمجية، والتكيف مع تغييرات التصميم تلقائيًا. كما تقوم بتحليل الصفحات غير المهيكلة، مما يقلل من الجهد اليدوي المبذول في كتابة وصيانة التعليمات البرمجية.ping مخطوطات.

تستخدم تقنيات الذكاء الاصطناعي رؤية الحاسوب ومعالجة اللغة الطبيعية للتعرف على الجداول والأسعار والنصوص على الصفحة، حتى بدون محددات ثابتة. هذا التطبيق الذكيtraction makes scraping أكثر مرونة عندما يغير موقع الويب هيكله.

تلخيص هذه التدوينة بـ: