جار التحديث ...
جار التحديث ...

محرك بحث في مواقع محدده

  • 0

ابغا مبرمج يسوي لي محرك بحث في مواقع محدده لا تتجاوز ال 20 .مثل wego و trivago

اي البحث في مواقع محدده عن شيء محدد ومقارنة الاسعار والمواصفات . المطلوب ليس في مجال السفر ولكن ويحو كمثال فقط

إجابات المستخدمين (1)


يمكنك عمل ذلك بعدة طرق , الطريقة التي ننصحك بها هي استخدام لغة Node.js لعمل هذه المهمة أولاً , وثانياً عليك الحصول على API جاهز من الموقع الذي تريد البحث فيه ان كنت تريد أن تتم الأمور بصورة صحيحة وشرعية


كما يمكنك البحث بصورة غير شرعية تماماً , وتعتمد شرعية عملك على قواعد وسياسات الموقع الذي تريد البحث فيه


لعمل ذلك بال php قم بتنزيل كلاس SImple html dom من هنا


ومن ثم اليك التالي :


<?php
 include "simple_html_dom.php";
 $crawled_urls = array();
 $found_urls = array();
 function rel2abs($rel,  $base) {
  if (parse_url($rel, PHP_URL_SCHEME) != '') {
    return $rel;
  }
  if ($rel[0] == '#' ||  $rel[0] == '?') {
    return $base . $rel;
  }
  extract(parse_url($base));
  $path = preg_replace('#/[^/]*$#''',  $path);
  if ($rel[0] == '/') {
    $path = '';
  }
  $abs = "$host$path/$rel";
  $re  = array('#(/.?/)#''#/(?!..)[^/]+/../#');
  for ($n = 1;  $n & gt; 0; $abs = preg_replace($re, '/',  $abs, -1, $n)) {}
  $abs = str_replace('../', '', $abs);
  return $scheme . '://' . $abs;
}


function perfect_url($u, $b) {
  $bp = parse_url($b);
  if (($bp['path'] != '/' & amp; & amp;  $bp['path'] != '') ||  $bp['path'] == '') {
    if ($bp['scheme'] == '') {
      $scheme = 'http';
    } else {
      $scheme = $bp['scheme'];
    }
    $b = $scheme . '://' . $bp['host'] . '/';
  }
  if (substr($u, 0, 2) == '//') {
    $u = 'http:' . $u;
  }
  if (substr($u, 0, 4) != 'http') {
    $u = rel2abs($u, $b);
  }
  return $u;
}

function crawl_site($u) {
  global $crawled_urls,  $found_urls;
  $uen = urlencode($u);
  if ((array_key_exists($uen, $crawled_urls) == 0 ||  $crawled_urls[$uen] & lt; date('YmdHis', strtotime('-25 seconds', time())))) {
    $html       = file_get_html($u);
    $crawled_urls[$uen] = date('YmdHis');
    foreach ($html- & gt; find('a') as $li) {
      $url  = perfect_url($li- & gt; href, $u);
      $enurl = urlencode($url);
      if ($url != '' & amp; & amp; substr($url, 0, 4) != 'mail' & amp; & amp; substr($url, 0, 4) != 'java' & amp; & amp; array_key_exists($enurl, $found_urls) == 0) {
        $found_urls[$enurl] = 1;
        echo $url . PHP_EOL;
      }
    }
  }
}

crawl_site("http://subinsb.com");


 ?>

كما يمكنك تنزيل السكربت كاملاً من هنا





  • 0
رد على التعليق (0)

الردود :


لا يوجد ردود بعد


سجل الدخول لاضافة رد
سجل الدخول لاضافة اجابة جديدة