1. ثقافة
0

ما هي آلية عمل Web Crawlers ؟

  • p3r0
  • 2015-08-05T13:07:47+00:00
  • رابط مختصر

التعليقات

عرض جميع التعليقات
1
ahmedsaoud31 2015-08-05T22:13:21+00:00 أضف ردا
  • رابط مختصر
  • ألية عمل الـ Web Crawlers هي نفس ألية عمل المتصفحات من جِهة تحليل وثائق HTML .

  • ببساطة الـ Web Crawlers هو عملية إرسال طلب لصفحة ما ولتكن

    حسوب I/O

    io.hsoub.com

    يمكنك هنا طرح ومناقشة الأفكار والقضايا التقنية والعلمية والمشاركة في العديد من المجتمعات المختلفة.

    وإستلام الرد وهو عبارة عن وثيقة HTML بها جميع المحتوى الذي يتم ظهوره بشكل منسق على المتصفح ولكن بصورته الخام كـوثيقة HTML، من تلك الوثيقة أستطيع إستخراج البيانات التي أحتاجها من خلال التعابير القياسية Regular Expressions أو من خلال أي من مكتبات الـ DOM لتسهيل عملية إستخلاص البيانات من تلك الوثائق، يزداد الأمر تعقيداً في حالة وجود صفحات تحتاج تسجيل دخول أو صفحات تتعرف على نوعية المتصفح لعرض محتوى مناسب وغيره من تلك الأمور ويزاد الأمر تعقيداً حينما تصادف تقنيات كالـ AJAX أو Single One Page مستخدمة في الموقع.

0
p3r0 2015-08-06T13:03:45+00:00 أضف ردا
  • رابط مختصر

شكرا لك :)

ولكن .. كيف تجلب هذه الادوات جميع صفحات الموقع ؟ هل تقوم بعملية Brute Force اي تخمين ام ماذا ؟؟

1
ahmedsaoud31 2015-08-06T13:31:45+00:00 أضف ردا
  • رابط مختصر
  • تستخدم نمط تتبع الروابط، على سبيل المثال سأقوم بجلب محتوى الصفحة:

    حسوب I/O - أحدث المساهمات

    io.hsoub.com/new

    يمكنك هنا طرح ومناقشة الأفكار والقضايا التقنية والعلمية والمشاركة في العديد من المجتمعات المختلفة.

    ومنها سأقوم بإستخلاص جميع روابط الموضوعات لأبدأ في جلب البيانات من كل رابط على حدة بنفس الطريقة وهكذا.
1
ahmedsaoud31 2015-08-06T14:18:30+00:00 أضف ردا
  • رابط مختصر

مثال بلغة php لما أشرت له من نمط تتبع الروابط، يقوم الكود بالبحث عن روابط المواضيع وإستخلاصها كالتالي:

    $html = file_get_contents('https://io.hsoub.com/new');
    $domain = '

حسوب I/O

io.hsoub.com

يمكنك هنا طرح ومناقشة الأفكار والقضايا التقنية والعلمية والمشاركة في العديد من المجتمعات المختلفة.

'; preg_match_all('/<div class\=\"postContent\">.*?<\/h2>/s', $html, $match); foreach($match[0] as $value) { preg_match('/href="([^\n\t\s"]+)/', $value, $match2); $link = str_replace('href="','',$match2[0]); if(preg_match('/https?/i', $link)){ $links[] = $link; } else { $links[] = $domain.$link; } } foreach($links as $link){ echo "<div><a href='{$link}'>{$link}</a></div>"; }
0
p3r0 2015-08-06T17:53:58+00:00 أضف ردا
  • رابط مختصر

رائع :)

شكرا لك

ثقافة

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

112 ألف متابع

أطلق موقعك الإلكتروني في دقائق

صمم موقعك كاملا بالسحب والإفلات بدون خبرة برمجية، واحجز مكانك على الإنترنت.

أنشئ موقعك الآن

انسخ هذا الرابط:

تنبيه