هل تعلم أنه من الممكن استخراج البيانات من موقع ويب باستخدام جداول بيانات Google؟ وإليك كيف يمكنك القيام بذلك.
يعد تجريف الويب تقنية قوية لاستخراج المعلومات من مواقع الويب وتحليلها تلقائيًا. على الرغم من أنه يمكنك القيام بذلك يدويًا، إلا أنها قد تكون مهمة شاقة وتستغرق وقتًا طويلاً. تعمل أدوات استخراج البيانات من الويب على جعل العملية أسرع وأكثر كفاءة، وفي نفس الوقت تكون التكلفة أقل.
ومن المثير للاهتمام أن جداول بيانات Google لديها القدرة على أن تكون أداة شاملة لتقطيع الويب، وذلك بفضل وظيفة IMPORTXML الخاصة بها. باستخدام IMPORTXML، يمكنك بسهولة استخراج البيانات من صفحات الويب واستخدامها للتحليل أو إعداد التقارير أو أي مهام أخرى تعتمد على البيانات.
وظيفة IMPORTXML في جداول بيانات Google
توفر جداول بيانات Google وظيفة مدمجة تسمى IMPORTXML، والتي تتيح لك استيراد البيانات من تنسيقات الويب مثل XML وHTML وRSS وCSV. يمكن أن تغير هذه الوظيفة قواعد اللعبة إذا كنت تريد جمع البيانات من مواقع الويب دون اللجوء إلى الترميز المعقد.
إليك بناء الجملة الأساسي لـ IMPORTXML:
=IMPORTXML(url, xpath_query)
- عنوان URL: عنوان URL لصفحة الويب التي تريد استخراج البيانات منها.
- xpath_query: استعلام XPath الذي يحدد البيانات التي تريد استخراجها.
XPath (لغة مسار XML) هي لغة تُستخدم للتنقل في مستندات XML، بما في ذلك HTML، مما يسمح لك بتحديد موقع البيانات داخل بنية HTML. يعد فهم استعلامات XPath أمرًا ضروريًا لاستخدام IMPORTXML بشكل صحيح.
فهم XPath
يوفر XPath وظائف وتعبيرات متنوعة للتنقل وتصفية البيانات داخل مستند HTML. إن دليل XML وXPath الشامل يقع خارج نطاق هذه المقالة، لذلك سنكتفي ببعض مفاهيم XPath الأساسية:
- اختيار العنصر: يمكنك تحديد العناصر باستخدام / و // للدلالة على المسارات. على سبيل المثال، /html/body/div تحديد جميع عناصر div الموجودة في نص المستند.
- اختيار السمة: لتحديد السمات، يمكنك استخدامها @. على سبيل المثال، //@href يختار الكل href السمات الموجودة على الصفحة.
- مرشحات المسند: يمكنك تصفية العناصر باستخدام المسندات بين قوسين مربعين ([ ]). على سبيل المثال، /div[@class="container"] يختار الكل شعبة العناصر مع الطبقة حاوية.
- المهام: يوفر XPath وظائف مختلفة مثل يتضمن(), ابدا ب()، و نص() لتنفيذ إجراءات محددة مثل التحقق من محتوى النص أو قيم السمات.
كيفية استخراج XPath من موقع على شبكة الانترنت
حتى الآن، أنت تعرف بناء جملة IMPORTXML، وتعرف عنوان URL لموقع الويب، وتعرف العنصر الذي تريد استخراجه. ولكن كيف يمكنك الحصول على XPath للعنصر؟
لا يتعين عليك معرفة بنية موقع الويب عن ظهر قلب لاستخراج بياناته باستخدام IMPORTXML. في الواقع، يحتوي كل متصفح على أداة رائعة تتيح لك نسخ XPath لأي عنصر على الفور.
أداة فحص العنصر يتيح لك استخراج XPath من عناصر موقع الويب. إليك الطريقة:
- انتقل إلى صفحة الويب التي تريد حذفها باستخدام متصفح الويب المفضل لديك.
- حدد موقع العنصر الذي تريد كشطه.
- انقر بزر الماوس الأيمن على العنصر.
- يختار تدقيق العنصر من قائمة النقر بزر الماوس الأيمن. سيفتح متصفحك لوحة تعرض رمز HTML لصفحة الويب. سيتم تمييز عنصر HTML ذي الصلة في الكود.
- في لوحة Inspect Element، انقر بزر الماوس الأيمن فوق العنصر المميز في كود HTML.
- انقر انسخ XPath لنسخ عنوان XPath الخاص بالعنصر إلى الحافظة الخاصة بك.
الآن بعد أن حصلت على كل ما تحتاجه، حان الوقت لمشاهدة IMPORTXML أثناء العمل واستخراج بعض الروابط.
يمكنك استخدام IMPORTXML لاستخراج جميع أنواع البيانات من مواقع الويب. يتضمن ذلك الروابط ومقاطع الفيديو والصور وأي عنصر في موقع الويب تقريبًا. تعد الروابط من أبرز العناصر في تحليل الويب، ويمكنك معرفة الكثير عن موقع الويب بمجرد تحليل الصفحات التي يرتبط بها.
يتيح لك IMPORTXML استخراج الروابط بسرعة في جداول بيانات Google ثم تحليلها بشكل أكبر باستخدام الوظائف المتنوعة التي توفرها جداول بيانات Google.
لاستخراج كافة الروابط من صفحة ويب، يمكنك استخدام الصيغة التالية:
=IMPORTXML(url, "//a/@href")
يقوم استعلام XPath هذا بتحديد الكل href سمات أ العناصر، واستخراج جميع الروابط الموجودة على الصفحة بشكل فعال.
=IMPORTXML("https://en.wikipedia.org/wiki/Nine_Inch_Nails", "//a/@href")
تقوم الصيغة أعلاه بإلغاء جميع الروابط الموجودة في مقالة ويكيبيديا.
إنها فكرة جيدة أن تقوم بإدخال عنوان URL لصفحة الويب في خلية منفصلة ثم الرجوع إلى تلك الخلية. سيمنع هذا تركيبتك من أن تصبح طويلة جدًا وغير عملية. يمكنك أن تفعل الشيء نفسه مع استعلام XPath.
2. كشط كافة النصوص الارتباط
لاستخراج نص الروابط مع عناوين URL الخاصة بها، يمكنك استخدام:
=IMPORTXML(url, "//a")
يحدد هذا الاستعلام كافة العناصر، ويمكنك استخراج نص الارتباط وعناوين URL من النتائج.
=IMPORTXML("https://en.wikipedia.org/wiki/Nine_Inch_Nails", "//a")
تحصل الصيغة أعلاه على نصوص الارتباط في نفس مقالة ويكيبيديا.
في بعض الأحيان، قد تحتاج إلى حذف روابط معينة بناءً على معايير. على سبيل المثال، قد تكون مهتمًا باستخراج الروابط التي تحتوي على كلمة رئيسية معينة أو الروابط الموجودة في قسم معين من الصفحة.
من خلال المعرفة الصحيحة بـ XPath، يمكنك تحديد أي عنصر تبحث عنه.
لاستخراج الروابط التي تحتوي على كلمة رئيسية محددة، يمكنك استخدام الدالة يحتوي على () XPath:
=IMPORTXML(url, "//a[contains(@href, 'keyword')]/@href")
يحدد هذا الاستعلام سمات href للعناصر التي يحتوي فيها href على الكلمة الأساسية المحددة.
=IMPORTXML("https://en.wikipedia.org/wiki/Nine_Inch_Nails", "//a[contains(@href, 'record')]/@href")
تقوم الصيغة أعلاه بإلغاء جميع الروابط التي تحتوي على سجل الكلمات في نصها داخل نموذج مقالة في ويكيبيديا.
لاستخراج الروابط من قسم معين من الصفحة، يمكنك تحديد XPath الخاص بالقسم. على سبيل المثال:
=IMPORTXML(url, "//div[@class='section']//a/@href")
يحدد هذا الاستعلام سمات href للعناصر الموجودة ضمن عناصر div ذات الفئة "section".
وبالمثل، تحدد الصيغة أدناه جميع الروابط الموجودة ضمن فئة div التي تحتوي على فئة mw-content-container:
=IMPORTXML("https://en.wikipedia.org/wiki/Nine_Inch_Nails", "//div[@class='mw-content-container']//a/@href")
تجدر الإشارة إلى أنه يمكنك استخدام IMPORTXML لأكثر من مجرد تجريف الويب. يمكنك استخدام مجموعة وظائف IMPORT لـ استيراد جداول البيانات من مواقع الويب إلى جداول بيانات Google.
على الرغم من أن جداول بيانات Google وExcel يشتركان في معظم وظائفهما، إلا أن مجموعة وظائف IMPORT فريدة من نوعها في جداول بيانات Google. ستحتاج إلى التفكير في طرق أخرى لذلك استيراد البيانات من المواقع إلى Excel.
تبسيط تجريف الويب باستخدام جداول بيانات Google
يعد استخراج الويب باستخدام جداول بيانات Google ووظيفة IMPORTXML طريقة متعددة الاستخدامات ويمكن الوصول إليها لجمع البيانات من مواقع الويب.
من خلال إتقان XPath وفهم كيفية إنشاء استعلامات فعالة، يمكنك إطلاق العنان للإمكانات الكاملة لـ IMPORTXML والحصول على رؤى قيمة من موارد الويب. لذا، ابدأ بالتجميع وانتقل بتحليل الويب الخاص بك إلى المستوى التالي!