اذهب إلى المحتوى
  • 0

كيف ممكن عمل برمجية بلغة php لأستخراج كود html لاي عنوان ويب على الانترنت

علي الكاسر

السؤال

Recommended Posts

  • 0

يمكنك عمل ذلك عبر استخدام الدالة file_get_contents كما في المثال التالي 

<?php
$html = file_get_contents('https://www.google.com');
echo $html;
?>

في ذلك المثال نقوم بإستخراج بيانات الصفحة google.com ونخزنها في متغير $html ومن ثم نقوم بطباعتها

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

يستعمل البعض مكتبة simple_html_dom لتجريف صفحات الويب وتحليل بياناتها.

في ما يلي مثال عملي عن الاستعمال: 

$html = file_get_html('https://www.some_website.com/');

$imgs = $html->find('img');

$hrefs = $html->find('a');

توفر هاته المكتبة الوظيفة file_get_html. التي يمكن عن طريقها استعمال محددات الـ css العادية لجلب أي عنصر أو مجموعة عناصر ضمن الصفحة. 

يرجى الاشارة ايضا الى ان هاته المكتبة قد لا تعمل بشكل صحيح ان كان المحتوى يتم عرضه بعد تحميل موارد الصفحة بما في ذلك ملفات جافاسكربت (مثل حالات تطبيقات الصفحة الواحدة SPA أو أي تطبيق يتم تصيير الصفحة فيه على مستوى العميل client side rendering). لا أظن أن هنالك برمجية مبنية على الـ PHP تخدم هذا الاحتمال -على أن مثل هاته التطبيقات قليلة مقارنة بالعادية- ، على عكس مكتبات من مثل scrapy أو selenium موجودة في بايثون. أظن أن بايثون أفضل في هذا الجانب.

(يرجى الانتباه جيدا الى الجانب القانوني في الموضوع، قد يؤدي استعمالها الى حظرك من بعض المواقع أو حتى الى اجراءات أخرى في بعض الاحيان).

فيما يلي توثيق المكتبة المشار اليها simplehtmldom.

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 34 دقائق مضت قال Adnane Kadri:

يستعمل البعض مكتبة simple_html_dom لتجريف صفحات الويب وتحليل بياناتها.

في ما يلي مثال عملي عن الاستعمال: 


$html = file_get_html('https://www.some_website.com/');

$imgs = $html->find('img');

$hrefs = $html->find('a');

توفر هاته المكتبة الوظيفة file_get_html. التي يمكن عن طريقها استعمال محددات الـ css العادية لجلب أي عنصر أو مجموعة عناصر ضمن الصفحة. 

يرجى الاشارة ايضا الى ان هاته المكتبة قد لا تعمل بشكل صحيح ان كان المحتوى يتم عرضه بعد تحميل موارد الصفحة بما في ذلك ملفات جافاسكربت (مثل حالات تطبيقات الصفحة الواحدة SPA أو أي تطبيق يتم تصيير الصفحة فيه على مستوى العميل client side rendering). لا أظن أن هنالك برمجية مبنية على الـ PHP تخدم هذا الاحتمال -على أن مثل هاته التطبيقات قليلة مقارنة بالعادية- ، على عكس مكتبات من مثل scrapy أو selenium موجودة في بايثون. أظن أن بايثون أفضل في هذا الجانب.

(يرجى الانتباه جيدا الى الجانب القانوني في الموضوع، قد يؤدي استعمالها الى حظرك من بعض المواقع أو حتى الى اجراءات أخرى في بعض الاحيان).

فيما يلي توثيق المكتبة المشار اليها simplehtmldom.

شكرا لك على هذه المعلومات المفيدة

بتاريخ 2 ساعات قال شرف الدين2:

يمكنك عمل ذلك عبر استخدام الدالة file_get_contents كما في المثال التالي 


<?php
$html = file_get_contents('https://www.google.com');
echo $html;
?>

في ذلك المثال نقوم بإستخراج بيانات الصفحة google.com ونخزنها في متغير $html ومن ثم نقوم بطباعتها

شكرا لك

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...