Semalt: 3 خطوات ل PHP Web Scraping

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

يتم استخدام تقنيتين رئيسيتين لكشط البيانات:

  • تحليل المستند - يتضمن مستند XML أو HTML يتم تحويله إلى ملفات DOM (نموذج كائن المستند). توفر لنا PHP امتداد DOM رائع.
  • التعبيرات العادية - هي طريقة لنسخ البيانات من مستندات الويب في شكل تعبيرات عادية.

تتعلق مشكلة بيانات القصاصة الخاصة بموقع ويب الجهة الخارجية بحقوق النشر الخاصة به لأنه ليس لديك إذن لاستخدام هذه البيانات. ولكن مع PHP ، يمكنك بسهولة مسح البيانات دون مشاكل مرتبطة بحقوق النشر أو الجودة المنخفضة. كمبرمج PHP ، قد تحتاج إلى بيانات من مواقع مختلفة لأغراض البرمجة. لقد شرحنا هنا كيفية الحصول على البيانات من المواقع الأخرى بكفاءة ، ولكن قبل ذلك ، يجب أن تضع في اعتبارك أنه في النهاية ستحصل على ملفات index.php أو scrape.js.

الخطوة 1: إنشاء نموذج لإدخال عنوان URL لموقع الويب:

بادئ ذي بدء ، يجب عليك إنشاء نموذج في index.php عن طريق النقر على زر إرسال وإدخال عنوان URL لموقع الويب لنسخ البيانات.

<form method = "post" name = "scrape_form" id = "scrap_form" acti>

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

<input type = "input" name = "website_url" id = "website_url">

<input type = "Submit" name = "Submit" value = "Submit">

</form>

الخطوة 2: إنشاء وظيفة PHP للحصول على بيانات الموقع:

الخطوة الثانية هي إنشاء خدوش دالة PHP في ملف scrape.php حيث ستساعد في الحصول على البيانات واستخدام مكتبة عناوين URL. سيسمح لك أيضًا بالاتصال والتواصل مع الخوادم والبروتوكولات المختلفة دون أي مشكلة.

دالة scrapeSiteData ($ website_url) {

if (! function_exists ('curl_init')) {

يموت ("لم يتم تثبيت cURL. الرجاء التثبيت والمحاولة مرة أخرى.") ؛

}}

$ curl = curl_init () ،

curl_setopt ($ curl، CURLOPT_URL، $ website_url) ؛

curl_setopt ($ curl، CURLOPT_RETURNTRANSFER، true) ،

$ output = curl_exec ($ curl) ؛

curl_close ($ curl) ؛

إرجاع الناتج $

}}

هنا ، يمكننا أن نرى ما إذا تم تثبيت PHP cURL بشكل صحيح أم لا. يجب استخدام ثلاثة cURLs رئيسية في منطقة الوظائف وسيساعد curl_init () في تهيئة الجلسات ، وسيقوم curl_exec () بتنفيذها وسيساعد curl_close () في إغلاق الاتصال. تُستخدم المتغيرات مثل CURLOPT_URL لتعيين عناوين URL لمواقع الويب التي نحتاج إلى مسحها. سيساعد CURLOPT_RETURNTRANSFER الثاني في تخزين الصفحات المجردة في النموذج المتغير بدلاً من النموذج الافتراضي ، والذي سيعرض في النهاية صفحة الويب بالكامل.

الخطوة 3: كشط بيانات محددة من الموقع:

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

if (isset ($ _ POST ['Submit'])) {

$ html = scrapeWebsiteData ($ _ POST ['website_url']) ؛

$ start_point = strpos ($ html، "أحدث المشاركات") ؛

$ end_point = strpos ($ html، ''، $ start_point) ؛

$ length = $ end_point- $ start_point ؛

$ html = substr ($ html، $ start_point، $ length) ؛

echo $ html؛

}}

نقترح عليك تطوير المعرفة الأساسية لـ PHP والتعبيرات العادية قبل استخدام أي من هذه الرموز أو كشط مدونة أو موقع ويب معين لأغراض شخصية.