انتقل إلى المحتوى

الدليل الكامل لكشط منشورات الفيسبوك

تحتوي وسائل التواصل الاجتماعي على منجم ذهب من البيانات العامة القيمة لأولئك الذين يعرفون كيفية استخراجها. سيعلمك هذا الدليل الشامل الذي يزيد عن 4000 كلمة كيفية حذف منشورات Facebook بكفاءة باستخدام الأدوات والتقنيات المناسبة.

الأهمية المتزايدة لكشط الويب

يشير تجريف الويب إلى الاستخراج الآلي للبيانات من مواقع الويب من خلال البرامج النصية وأدوات البرامج. وفقًا لـ Insider Intelligence، فإن أكثر من 80% من المؤسسات تستخدم الآن استخراج البيانات من الويب بشكل ما لأغراض ذكاء الأعمال.

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

من المتوقع أن تنمو صناعة تجريف الويب بمعدل نمو سنوي مركب يزيد عن 20% لتصل إلى 13.9 مليار دولار بحلول عام 2026 وفقًا لأبحاث Meticulous. من الواضح أن تجريف الويب أصبح ضروريًا للأعمال التنافسية.

تحظر العديد من مواقع الويب تجريف الويب في شروط الخدمة (ToS) الخاصة بها. الفيسبوك ليس استثناء. وهذا يثير تساؤلات حول شرعية تجريف الويب.

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

على سبيل المثال، في الحكم الصادر عام 2020 ضد HiQ Labs ضد LinkedIn، أيدت محكمة الاستئناف بالدائرة التاسعة حق HiQ في حذف صفحات LinkedIn العامة، قائلة:

"نخلص إلى أن HiQ أثارت سؤالًا جديًا حول ما إذا كان الطرفان قد أبرما عقدًا قابلاً للتنفيذ من شأنه أن يمنع HiQ من الوصول إلى بيانات LinkedIn المتاحة للجمهور."

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

ومع ذلك، فإن الأخلاق مهمة أيضًا. فيما يلي بعض أفضل الممارسات التي يجب اتباعها:

  • فقط كشط البيانات العامة
  • لا تعطل حركة المرور العادية
  • احترام قواعد ملف robots.txt
  • استخدام الوكلاء ومعدلات الحد
  • مصادر الائتمان
  • حذف البيانات عندما لم تعد هناك حاجة إليها

موقف الفيسبوك من تجريف الويب

تنص شروط خدمة فيسبوك على ما يلي:

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

وهذا يعني أنهم لا يشجعون على القشط. ومع ذلك، يبدو أن اهتماماتهم الرئيسية تتمحور حول:

  • كشط بيانات المستخدم الخاصة
  • الحسابات المزيفة/الروبوتات التي تسيء استخدام المنصة
  • تدمير البنية التحتية للفيسبوك

لا يبدو أن استخلاص محتوى الصفحة العامة بطريقة غير تدخلية يمثل مشكلة تستند إلى سابقة عامة. تعمل العديد من أدوات وخدمات الجهات الخارجية على تمكين عملية تجريف Facebook على وجه التحديد.

يترك Facebook الأمر مفتوحًا من خلال طلب "إذن مسبق" لاستخراج الروبوتات. لكن الإذن لا يُمنح اليوم بأي طريقة شفافة وعملية.

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

الآن دعونا نلقي نظرة على كيفية حذف منشورات الفيسبوك فعليًا...

تجريف الفيسبوك مع المتصفحات مقطوعة الرأس

الطريقة الأكثر وضوحًا هي التحكم المباشر في المتصفح عبر البرامج النصية. توفر مكتبات المتصفحات الحديثة بدون رأس، مثل Puppeteer وPlaywright، وصولاً إلى واجهة برمجة التطبيقات (API) لوظائف المتصفح.

دعونا نسير عبر مثال باستخدام العرائس - أحد الخيارات الأكثر شعبية بسبب توازن القوة والبساطة.

نحتاج أولاً إلى تثبيت Puppeteer:

npm install puppeteer  

ثم يمكننا كتابة برنامج نصي مثل هذا:

// puppeteer-scraper.js

const puppeteer = require(‘puppeteer‘);

(async () => {

  const browser = await puppeteer.launch();
  const page = await browser.newPage();

  await page.goto(‘https://www.facebook.com/nasa/‘);

  // Wait for posts to load
  await page.waitForSelector(‘.userContentWrapper‘); 

  // Extract post data
  const posts = await page.$$eval(‘.userContentWrapper .permalinkPost‘, posts => {

    return posts.map(post => {

      return {

        text: post.querySelector(‘.userContent‘)?.textContent ?? ‘‘,  
        date: post.querySelector(‘.timestampContent‘)?.textContent ?? ‘‘,
        reactions: post.querySelector(‘.likeCount‘)?.textContent ?? ‘‘,
        comments: post.querySelector(‘.commentCount‘)?.textContent ?? ‘‘,
        shares: post.querySelector(‘.shareCount‘)?.textContent ?? ‘‘

      };

    });

  });

  console.log(posts);

  await browser.close();

})();

إليك ما يحدث:

  1. قم بتشغيل متصفح Chrome بدون رأس باستخدام محرك الدمى.

  2. افتح صفحة ناسا على الفيسبوك.

  3. انتظر حتى يتم تحميل المشاركات الأولية.

  4. استعمل page.$$eval لتقييم كافة العناصر المطابقة ل .userContentWrapper .permalinkPost محدد.

  5. قم بتوفير وظيفة رد الاتصال التي تقوم بتعيين كل عنصر منشور للبيانات التي نريدها - النص والتاريخ والتفاعلات وما إلى ذلك.

  6. طباعة مجموعة المشاركات المستخرجة.

عند التشغيل، سيخرج هذا البرنامج النصي مجموعة من الكائنات التي تحتوي على بيانات النص والتاريخ والمشاركة لكل منشور مسروق.

يمكننا الآن بسهولة حفظ المشاركات المحذوفة بتنسيق JSON:

const fs = require(‘fs‘);

// ...scrape posts

fs.writeFileSync(‘nasa-posts.json‘, JSON.stringify(posts, null, 2)); 

أو يمكننا إلحاق كل منشور كصف في ملف CSV. الاحتمالات لا حصر لها!

مقارنة محرك الدمى بالكاتب المسرحي

محرك الدمى عظيم، ولكن الكاتب المسرحي يعد خيارًا ممتازًا آخر للمتصفح بدون رأس مع بعض المزايا الفريدة:

  • يدعم Firefox وWebKit بالإضافة إلى Chromium.
  • أوقات تحميل الصفحة أسرع قليلاً.
  • دعم مدمج أفضل لصفحات الصفحات وإطارات iframe والنوافذ المنبثقة.
  • واجهة المستخدم لمعاينة البيانات المسروقة.
    - بناء جملة أكثر سلاسة/انتظار.

على سبيل المثال، إليك نفس النص في Playwright:

const { chromium } = require(‘playwright‘); 

(async () => {

  const browser = await chromium.launch();

  const context = await browser.newContext();

  const page = await context.newPage();

  await page.goto(‘https://www.facebook.com/nasa/‘);

  const posts = await page.$$eval(‘.userContentWrapper .permalinkPost‘, posts => {

    // Map elements to data  

  });

  await browser.close();

})();

استخدام الكاتب المسرحي متطابق في الغالب. تعد كلتا المكتبتين اختيارات ممتازة حسب تفضيلاتك.

الآن دعونا نلقي نظرة على استخدام الوكلاء للحصول على نتائج أكثر فعالية...

القشط من خلال الوكلاء

للتخلص من فيسبوك بكفاءة على نطاق واسع، يوصى بشدة باستخدام الوكلاء لتوزيع الطلبات وتجنب الاكتشاف.

الوكلاء السكنيين تعمل بشكل أفضل، لأنها توفر عناوين IP حقيقية من المنازل/الأجهزة المحمولة للحصول على نتائج مماثلة للمستخدمين العاديين. وكلاء مركز البيانات أرخص ولكن من المرجح أن يتم اكتشافها وحظرها.

فيما يلي كيفية تكوين Puppeteer لاستخدام الوكلاء السكنيين:

const puppeteer = require(‘puppeteer-extra‘);
const pluginStealth = require(‘puppeteer-extra-plugin-stealth‘);

// Enable stealth plugin  
puppeteer.use(pluginStealth());

(async () => {

  const browser = await puppeteer.launch({
    headless: true, 
    args: [
      ‘--proxy-server=http://USER:PASS@PROXY:PORT‘ 
    ]
  });

// ...rest of script

})();

نحن ببساطة نمرر --proxy-server حجة مع بيانات اعتماد موفر الوكيل لدينا. يؤدي هذا إلى توجيه كل حركة المرور عبر عنوان IP الوكيل.

puppeteer-extra-plugin-stealth تطبق الوحدة تقنيات مختلفة لتجنب اكتشاف الروبوتات عند المرور عبر الوكلاء.

تشمل أفضل خدمات الوكيل السكنية ما يلي:

  • Smartproxy – خطط تبدأ من 75 دولارًا شهريًا مقابل 40 جيجابايت من حركة المرور. واجهة برمجة التطبيقات متاحة.

  • GeoSurf – خطط تبدأ من 50 دولارًا شهريًا. يتكامل بسلاسة مع محرك الدمى.

  • Luminati – تبدأ الخطط بسعر 500 دولار شهريًا. تجمع IP كبير.

  • Oxylabs – خطط تبدأ من 100 يورو شهريًا. عرضت واجهة برمجة التطبيقات.

تبدأ تكلفة الوكلاء السكنيين من 3 إلى 5 سنتات لكل جيجابايت، وهي أغلى بكثير من وكلاء مراكز البيانات ولكنها تستحق العناء في عملية الاستخلاص الجدية.

قم بتدوير عناوين IP للوكيل بشكل متكرر لتحقيق أقصى قدر من النتائج وتقليل الاكتشاف. قم بإفراغ عبء إدارة الوكيل هذا إلى مزود الخدمة.

تجريف الفيسبوك مع المتصفحات الحقيقية

في بعض الحالات، قد لا يكون تشغيل البرامج النصية على مدار الساعة طوال أيام الأسبوع من جانب الخادم أمرًا مثاليًا أو ممكنًا.

القشط من متصفح فعلي على جهاز الكمبيوتر الخاص بك هو بديل. أنه يقلل من التعقيد للكاشطات الصغيرة.

أدوات مثل الأخطبوط, ParseHub و Import.io تقديم ملحقات المتصفح لاستخراج المحتوى أثناء تصفحك للفيسبوك بشكل طبيعي.

على سبيل المثال، فيما يلي خطوات التخلص باستخدام Octoparse:

  1. تثبيت ملحق المتصفح.

  2. انتقل إلى الصفحة المستهدفة.

  3. انقر على أيقونة الامتداد.

  4. حدد العناصر لكشطها.

  5. استخراج البيانات.

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

تجريف الفيسبوك مع الأدوات وواجهات برمجة التطبيقات

بالإضافة إلى البرامج النصية، تم تصميم العديد من الأدوات خصيصًا لاستخراج بيانات فيسبوك:

واجهات برمجة تطبيقات مكشطة مثل Dexi.io, كشط و SerpApi قم بالتعامل مع عملية التجريد نيابةً عنك حتى تتمكن من التركيز على استهلاك البيانات. على سبيل المثال:

import dexi 

data = dexi.FacebookPage(
  page_urls=[‘https://www.facebook.com/nasa‘]
).get_posts()

print(data)

إضافات جداول بيانات جوجل مثل استيراد الفيسبوك و وإذ تضع الاجتماعية تتيح لك سحب بيانات Facebook مباشرة إلى جداول بيانات Google لتحليلها بشكل فوري.

واجهة برمجة تطبيقات Facebook يوفر وصولاً برمجيًا رسميًا، ولكنه محدود جدًا مقارنة بالتجريد لأنه يقيد كمية البيانات التي يمكنك استخراجها.

ملحقات المتصفح DIY مثل مكشطة الفيسبوك جعل الكشط متاحًا دون الحاجة إلى ترميز.

قم بتقييم الخيارات بناءً على ميزانيتك وخبرتك الفنية وحالة الاستخدام.

ما هي البيانات التي يمكنك بالفعل استخلاصها من الفيسبوك؟

بينما ركزنا على المنشورات، يمكن في الواقع استخراج العديد من أنواع البيانات من فيسبوك:

  • البيانات الوصفية للصفحة - الاسم والفئة وعدد المتابعين وما إلى ذلك.

  • المنشورات - محتويات النص والتاريخ وردود الفعل والتعليقات.

  • التعليقات - نص التعليق، اسم المعلق، التاريخ، ردود الفعل.

  • التقييمات - مراجعة النص والصور والتقييمات واسم المراجع.

  • الفعاليات - العنوان والوصف والموقع والجدول الزمني ومعلومات الحضور.

  • المجموعة - معلومات المجموعة وقائمة الأعضاء والمشاركات والتعليقات.

  • قوائم السوق - العنوان، الوصف، السعر، الصور، البائع.

  • – تصميم الإعلان والنصوص والصور ومعايير الاستهداف.

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

كشط الفيسبوك بمسؤولية

يوفر الفيسبوك وفرة من البيانات العامة. ولكن يجب أن يتم حصادها بمسؤولية:

  • احترام ملف robots.txt: يسمح ملف robots.txt الخاص بفيسبوك بحذف الصفحات والمشاركات. لكن أطع أي طرق مسدودة.

  • الحد من تكرار الطلب: لا تقصف الصفحات بمئات الطلبات في الثانية. كن عقلانيا.

  • استخدام الوكلاء: قم بتدوير عناوين IP لتوزيع الحمل. الوكلاء السكنيون يعملون بشكل أفضل.

  • كشط البيانات العامة فقط: لا تستهدف أبدًا الملفات الشخصية أو المعلومات الخاصة.

  • مصادر الائتمان: في حالة إعادة نشر المحتوى المسروق، قم بالائتمان بشكل مناسب.

  • حذف البيانات غير الضرورية: قم بإزالة البيانات المسروقة التي لم تعد مطلوبة.

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

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

تجريف الفيسبوك: الوجبات السريعة الرئيسية

  • يمكن لمسح الويب استخراج بيانات عامة قيمة من Facebook للاستخدامات التجارية.
  • ركز على حذف الصفحات والمشاركات العامة، وليس الملفات الشخصية.
  • الامتثال لأفضل ممارسات القشط المسؤولة.
  • استخدم أدوات مثل Puppeteer وPlaywright وواجهات برمجة تطبيقات الكاشطة والمزيد.
  • قم بتدوير الوكلاء السكنيين لتجنب الكشف.
  • اجمع فقط البيانات التي يمكنك استخدامها بشكل قانوني.
  • حذف البيانات المسروقة عندما لم تعد هناك حاجة إليها.

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

الانضمام إلى محادثة

لن يتم نشر عنوان بريدك الإلكتروني. الحقول المشار إليها إلزامية *