نبش البيانات المخفيّة باستخدام مراجِع الويب
إقرأ هذه المقال في
لا يلاحظ الكثير من الصّحفيين أبدًا خيار “تفقّد العنصر” (inspect element) أسفل وظائف “copy” و”save as” في القائمة التي تظهر عند النّقر بزر الماوس الأيمن على أيّ صفحة ويب مرتبطة بتحقيقهم.
ولكن يبدو أن هذه الأداة قليلة الاستخدام قادرةٌ على استخراج معلوماتٍ وفيرة مخفيّة من شفرة المصدر للموقع (source code)، وتكشف عن البيانات الخام وراء الرسومات الغرافيكيّة، وقادرة على تحميل الصّور ومقاطع الفيديو التي يفترض أنّه لا يمكن حفظها.
الفهم البسيط لهذه الأداة وأساسيات HTML يمكن أن يساعد الصّحفيين على كشط البيانات من أيّ صفحة ويب، دون الحاجة إلى أن يكون لديهم اطّلاعٌ سابق على علوم الكمبيوتر.
في IRE21، المؤتمر السّنوي للصّحفيين والمحررين الاستقصائيين، أعطت الصحفيّة والمُثقِّفة سامانثا سون نصائح للصّحفيين ممن لديهم معرفة بسيطة أو معدومة في الكودينغ حول كيفيّة استرداد وتحليل البيانات من أيّ صفحة ويب باستخدام أداتين بسيطتين: مُتفقِّد الويب وSheets Google.
إليك خمس طرق لاستخدام هذه الأدوات لاستخراج البيانات وتحليلها من أيّ صفحة ويب:
- 1 – “تفقّدْ” (inspect) شفرة المصدر للموقع لاستخراج الرّوابط والصّور والمحتوى المضمّن (embedded).
يقدّم كلّ متصفِّح نسخةً من مُتفقِّد الويب ضمن أدوات المطوِّر (Developer Tools) أو علامة التبويب.
وأوضحت “سون” أن “المتصفِّحات تقرأ “شفرة المصدر” (وهو الرّمز الذي يشكّل صفحة الويب) وتعرضها على المستخدم”.
في عرضها التّعليمي، أوضحتْ “سون” الأشكال المختلفة التي تظهر فيها أداة التفقُّد على المتصفِّحات المختلفة. في متصفّح Safari، على سبيل المثال، يمكنك أن تنقر بزر الماوس الأيمن على منطقة الصفحة التي تريد تفقّدها وأن تختار ” مُتفقِّد الويب”.
بهذا ستتمكن من العثور على أيّ ارتباطات تشعبيّة (hyperlinks) ومصدر أيّ مواد أخرى مُضمَّنة (embedded) في صفحة الويب. ستتمكّن أيضا من قراءة النّصّ البديل (المستخدم لوصف وظيفة أو محتوى صورة أو عنصر على الصفحة) والتّعليقات أسفل الصّور، والتي يمكن أن تتضمّن أسماء الأشخاص الموجودين في الصّورة والموقع الذي التُقِطت فيه، وغير ذلك.
يمكنك الرجوع إلى دليل مرجع HTML للعثور على التعليمات البرمجية التي تعرّف الصّورَ المضمَّنة (<img src=”url”>)، بالإضافة إلى الروابط (< href=”url”>)، وعناصر أخرى.
2 – احفظ الصّور ومقاطع الفيديو من أيّ موقع (حتّى من إنستاغرام).
“الحصول على الملفات التي يصعب الوصول إليها منَ الطُّرقِ الرّائعة لاستخدام مُتفقِّد الويب”، بحسب “سون”.
إحدى المزايا الرّئيسية هي القدرة على استرداد الملفات الأصليّة، حتى من مواقع مثل إنستاغرام، التي تمنعك من حفظ الصّور أو مقاطع الفيديو التي تستضيفها. يتطلّب الأمر ثلاث خطوات سهلة فقط:
– انقر بزر الماوس الأيمن على الصّورة أو الفيديو الذي تريد تنزيله واختر “تفقُّد”. ابحث في الصفحة (control أو command + F) وابحث عن “<فيديو>” ، وهذا سيضع شفرةَ مصدرِ الفيديو بين أقواس.
– سيقوم “مُتفقِّد الويب” تلقائيًا بتعريف كافة الحالات التي تظهر فيها كلمة “<فيديو>” في شفرةِ المصدر. ثم مرّر الماوس (دون أن تنقر) فوق الوصلات المميّزة للعثور على وصلةِ المصدر مسبوقةً بـ “src=”. أو، مرّ على جميع الصور/العلامات:
– وأخيرًا، انقر على وصلةِ المصدر لفتح الصّورة أو الفيديو في نافذة جديدة داخل المتصفّح وقم بتنزيله بنقرةٍ على الزرّ الأيمن.
3 – اجمع البيانات في جدول بيانات يتمّ تحديثه تلقائيًا.
ماذا لو حصلتَ على مجموعةِ بياناتٍ ممتازة ومهمّة لتحقيقك، ولكنها موجودة على صفحة ويب ولا يمكنك تنزيل البيانات على شكل جداول بيانات، ماذا ستفعل حينها؟
أشارت “سون” إلى أنّه “يمكن النّسخ واللصق من صفحة الويب. لكن المعلومات لن تبقى محدَّثة، أو لن تعرض لي معلومات إضافيّة، مثل المواقع التي تؤدّي إليها الرّوابط”.
مُتفقِّد الويب مفيدٌ هنا أيضًا. يمكنك باستخدامه أن تعرف نوع البيانات المخزَّنة على صفحة الويب، وأن تنقلها (import) إلى Google Sheet، ومن ثم يمكنك أن تحلّلها أو تقدّمها بصريًا بطرقٍ مختلفة.
في المثال أدناه، استخدمنا مُتفقِّد الويب لكشط معدّلات كوفيد-19 من المركز الأوروبيّ للوقاية من الأمراض ومكافحتها.
للحصول على الجدول من هذا الموقع، اتّبعْنا الخطوات التّالية:
– انقر بزر الماوس الأيمن على الجدول أو مجموعة البيانات الأخرى التي تريد نسخها واختر “Inspect” لمعرفة نوع عنصر HTML – العناصر الشّائعة هي “جدول” (table) وقوائم النّقاط (bullet lists) (“ul”) والروابط (“a”).
– سيقوم مُتفقِّد الويب بتظليل العناصر الموجودة على صفحة الويب وإظهار شفرة المصدر المطابقة. هذه هي الطّريقة التي يمكنك التّعرُّف على عناصر HTML مثل العناصر الموجودة في هذا الجدول.
– ضع الصّيغة التالية في Google Sheet جديدة بالعنصر الذي تريد استخراجه — في هذه الحالة، “الجدول”. إذا كان هناك جدول واحد فقط في الصّفحة التي تقوم بكشطها، سيكونُ مُعرِّفه 0 إذا كان هنالك جدولان، فيسكون مُعرِّف الجدول الثاني 1، وهكذا.
=ImportHTML(“url”,“table”,”ID”)
– عند إدخال الصيغة =ImportHTML، ستقدّم لك جداول بيانات Google مثالاً وشرحًا لكيفيّة عملِ الصّيغة وأنواع البيانات التي يمكنها الحصول عليها.
=ImportHTML(“https://www.ecdc.europa.eu/en/geographical-distribution-2019-ncov-cases”,“table”,0)
– ستقوم جداول بيانات Google تلقائيًا بملء جدول البيانات بالبيانات التي تمّ كشطها من صفحة الويب. يمكنك بعد ذلك تنظيم البيانات وتصفيتها وتقديمها بصريًا وفقًا لاحتياجاتك.
“تستخدمُ الصيغةُ شيفرةَ المصدر لسحب عنصر HTML ‘الجدول’ “بحسب “سون”. تعطي “سون” المزيد من التّفاصيل في عرضها التّعليميّ “كشط البيانات بدون برمجة“.
4 – استخرج نوعًا محددًا فقط من البيانات
يمكن أن يكون تنزيل جميع بيانات الجدول أو الصّفحة مفيدًا في تحقيقك، ولكن ماذا لو كنت تبحث عن جميع الصّور الموجودة في صفحة أو جميع وصلاتِ المصادر في تقرير؟
تمكّنك جداولُ بيانات Google من إجراء هذا النّوع من الكشط أيضًا، باستخدام صيغة =ImportXML(“url”,”xpath_query”)
وأوضحت “سون” أن “XPATH هو في الأساس العنوان الذي يدلّ على البيانات الموجودة في صفحة”. فهو يمكّنك من الحصول على البيانات، حتى وإنْ كانت غير منسّقة على شكل جدولٍ أنيق على صفحة الويب.
أثناء المؤتمر، عرضت “سون” أمثلة من XPATHs مفيدة، مثل كشط جميع التّرويسات التي تحتوي على اسم بلد معين.
إذا كنت تريد تتبُّع مقاطع الفيديو الملفتة والمرتبطة بموضوع تحقيقك، يمكنك أيضًا كشط عناوين URL والعناوين الرئيسيّة من أيّ موقعٍ إخباري باستخدام هذه الصّيغة:
=IMPORTXML(“url”,”//CLASS[contains(”اسم البلد”)]”)
= IMPORTXML(“https://www.nytimes.com/section/world”, “/h2“) سوف يكشط جميع العناصر “h2” من الصّفحة ويفرّغها في Google Sheet.
=IMPORTXML (“https://www.nytimes.com/section/world”,”//h2[contains(.,’China’)]”) سوف يكشط فقط عناصر h2 التي تتضمّن كلمة “الصين”.
على سبيل المثال، قمنا بكشط جميع العناوين الرئيسية التي تحتوي على كلمة “الصين” في قسم أخبار العالم في صحيفة نيويورك تايمز باستخدام ما يلي:
– تفقّد صفحة الويب لتحديد الفئة (مثلاً: نوع النص) الذي تبحث عنه (“p” للفقرة و”h1″ للترويسة و”h2″ للعناوين الفرعيّة…)
– أدخل الكلمة التي تبحث عنها في الصيغة (استبدل كلمة “البلد”)
– قم بتحميل البيانات تلقائيًا إلى جداول بيانات Google مرّة واحدة يوميًا!
5 – تطبيقات مجانية (إذا كنت تهاب الكودات)
إذا لم يقنعك كل هذا بتعلّم القليل من HTML ، فحاول أن تستخدم إضافات المتصفّح (browser extensions) أو التّطبيقات المجانيّة، ستعطيم تحكمًا أقلّ في كيفية جمع البيانات وتنسيقها، ولكنها ستوفّر عليك عناء كتابةِ أسطرِ الكود وصيغ جداول البيانات.
نصحتْ “سون” بما يلي:
– Parsehub: تطبيق لأجهزة الحاسوب، يمكنه أن يكشط البيانات من أيّ موقع على شبكة الإنترنت، بما في ذلك المحتوى التّفاعليّ (ويستخراج البيانات من الصفحات المشفّرة باستخدام JavaScript أو AJAX). لا يتطلب معرفةً بالكودينغ لأن واجهته سهلة الاستخدام ويتيح لك تحميل البيانات على شكل Excel و JSON بالإضافة إلى نقل البيانات إلى جداول بيانات Google ومنصّة التّحليلات Tableau.
– Outwit: بالإضافة إلى أداة كشط الويب، تقدم Outwit خدمات لبناء أداة كشطة حسب احتياجاتك، وأتْمَتة الكشط، وحتى استخراج البيانات لك.
– WebScraper: حل بسيط لا يتطلّل إلا الإشارة والنّقر، لأولئك الذين يفضّلون عدم التّعامل مع الكودات، WebScraper قادر على بناء “خرائط الموقع” على أساس بُنية الموقع ونقاط البيانات التي تريد أن تستخرجها.
Smaranda Tolosano تدير التّرجمات والشراكات في GIJN. عملتْ في السّابق مع مؤسسة تومسون رويترز في المغرب، وغطّت استخدام الحكومة لبرامج التّجسُّس لاستهداف معارضي النّظام وظهور حركات نسويّة على وسائل التّواصل الاجتماعي.