Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Spider

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: Мой паук помогите в чем дело
LOL
Отправлено: 25 Ноября, 2010 - 12:28:12
Post Id


Гость


Покинул форум
Сообщений всего: 66
Дата рег-ции: Нояб. 2010  


Помог: 1 раз(а)

[+][+][+][+]


Ниндзя написал скрипт паука(плюс часть содрал и два чела помогал скрипт взят с sphider) вот код:
PHP:
скопировать код в буфер обмена
  1. <title>Индексируем сайт...</title>
  2. <?PHP
  3.  
  4.         set_time_limit (0);
  5.         $include_dir = "../include";
  6.         require_once ("$include_dir/commonfuncs.php");
  7.         $all = 0;
  8.         extract (getHttpVars());
  9.         $settings_dir =  "../settings";
  10.         require_once ("$settings_dir/conf.php");
  11.     include "$settings_dir/database.php";
  12.         include "messages.php";
  13.         echo '<style>body {background: #ededed; padding: 0; margin: 0;}</style><div align="center"><img src="/admin/images/loading.gif" alt="loading"><br></div>';
  14.         include "spiderfuncs.php";
  15.         error_reporting (E_ALL ^ E_NOTICE ^ E_WARNING);
  16.  
  17.  
  18.  
  19.  
  20.  
  21.         $delay_time = 0;
  22.  
  23.        
  24.         $command_line = 0;
  25.  
  26.         if (isset($_SERVER['argv']) && $_SERVER['argc'] >= 2) {
  27.                 $command_line = 1;
  28.                 $ac = 1; //argument counter
  29.                 while ($ac < (count($_SERVER['argv']))) {
  30.                         $arg = $_SERVER['argv'][$ac];
  31.  
  32.                         if ($arg  == '-all') {
  33.                                 $all = 1;
  34.                                 break;
  35.                         } else if ($arg  == '-u') {
  36.                                 $url = $_SERVER['argv'][$ac+1];
  37.                                 $ac= $ac+2;
  38.                         } else if ($arg  == '-f') {
  39.                                 $soption = 'full';
  40.                                 $ac++;
  41.                         } else if ($arg == '-d') {
  42.                                 $soption = 'level';
  43.                                 $maxlevel =  $_SERVER['argv'][$ac+1];;
  44.                                 $ac= $ac+2;
  45.                         } else if ($arg == '-l') {
  46.                                 $domaincb = 1;
  47.                                 $ac++;
  48.                         } else if ($arg == '-r') {
  49.                                 $reindex = 1;
  50.                                 $ac++;
  51.                         } else if ($arg  == '-m') {
  52.                                 $in =  str_replace("\\n", chr(10), $_SERVER['argv'][$ac+1]);
  53.                                 $ac= $ac+2;
  54.                         } else if ($arg  == '-n') {
  55.                                 $out =  str_replace("\\n", chr(10), $_SERVER['argv'][$ac+1]);
  56.                                 $ac= $ac+2;
  57.                         } else {
  58.                                 commandline_help();
  59.                                 die();
  60.                         }
  61.                
  62.                 }
  63.         }
  64.  
  65.        
  66.         if (isset($soption) && $soption == 'full') {
  67.                 $maxlevel = -1;
  68.  
  69.         }
  70.  
  71.         if (!isset($domaincb)) {
  72.                 $domaincb = 0;
  73.  
  74.         }
  75.  
  76.         if(!isset($reindex)) {
  77.                 $reindex=0;
  78.         }
  79.  
  80.         if(!isset($maxlevel)) {
  81.                 $maxlevel=0;
  82.         }
  83.  
  84.  
  85.         if ($keep_log) {
  86.                 if ($log_format=="html") {
  87.                         $log_file =  $log_dir."/".Date("ymdHi").".html";
  88.                 } else {
  89.                         $log_file =  $log_dir."/".Date("ymdHi").".log";
  90.                 }
  91.                
  92.                 if (!$log_handle = fopen($log_file, 'w')) {
  93.                         die ("Вход опция установлена, но не может открыть файл для logging.");
  94.                 }
  95.         }
  96.        
  97.         if ($all ==  1) {
  98.                 index_all();
  99.         } else {
  100.  
  101.                 if ($reindex == 1 && $command_line == 1) {
  102.                         $result=mysql_query("select url, spider_depth, required, disallowed, can_leave_domain from ".$mysql_table_prefix."sites where url='$url'");
  103.                         echo mysql_error();
  104.                         if($row=mysql_fetch_row($result)) {
  105.                                 $url = $row[0];
  106.                                 $maxlevel = $row[1];
  107.                                 $in= $row[2];
  108.                                 $out = $row[3];
  109.                                 $domaincb = $row[4];
  110.                                 if ($domaincb=='') {
  111.                                         $domaincb=0;
  112.                                 }
  113.                                 if ($maxlevel == -1) {
  114.                                         $soption = 'full';
  115.                                 } else {
  116.                                         $soption = 'level';
  117.                                 }
  118.                         }
  119.  
  120.                 }
  121.                 if (!isset($in)) {
  122.                         $in = "";
  123.                 }
  124.                 if (!isset($out)) {
  125.                         $out = "";
  126.                 }
  127.  
  128.                 index_site($url, $reindex, $maxlevel, $soption, $in, $out, $domaincb);
  129.  
  130.         }
  131.  
  132.         $tmp_urls  = Array();
  133.  
  134.  
  135.         function microtime_float(){
  136.            list($usec, $sec) = explode(" ", microtime());
  137.            return ((float)$usec + (float)$sec);
  138.         }
  139.  
  140.        
  141.         function index_url($url, $level, $site_id, $md5sum, $domain, $indexdate, $sessid, $can_leave_domain, $reindex) {
  142.                 global $entities, $min_delay;
  143.                 global $command_line;
  144.                 global $min_words_per_page;
  145.                 global $supdomain;
  146.                 global $mysql_table_prefix, $user_agent, $tmp_urls, $delay_time, $domain_arr;
  147.                 $needsReindex = 1;
  148.                 $deletable = 0;
  149.  
  150.                 $url_status = url_status($url);
  151.                 $thislevel = $level - 1;
  152.  
  153.                 if (strstr($url_status['state'], "Relocation")) {
  154.                         $url = eregi_replace(" ", "", url_purify($url_status['path'], $url, $can_leave_domain));
  155.  
  156.                         if ($url <> '') {
  157.                                 $result = mysql_query("select link from ".$mysql_table_prefix."temp where link='$url' && id = '$sessid'");
  158.                                 echo mysql_error();
  159.                                 $rows = mysql_numrows($result);
  160.                                 if ($rows == 0) {
  161.                                         mysql_query ("insert into ".$mysql_table_prefix."temp (link, level, id) values ('$url', '$level', '$sessid')");
  162.                                         echo mysql_error();
  163.                                 }
  164.                         }
  165.  
  166.                         $url_status['state'] == "redirected";
  167.                 }
  168.  
  169.                 /*
  170.                 if ($indexdate <> '' && $url_status['date'] <> '') {
  171.                         if ($indexdate > $url_status['date']) {
  172.                                 $url_status['state'] = "Date checked. Page contents not changed";
  173.                                 $needsReindex = 0;
  174.                         }
  175.                 }*/
  176.                 ini_set("user_agent", $user_agent);
  177.                 if ($url_status['state'] == 'ok') {
  178.                         $OKtoIndex = 1;
  179.                         $file_read_error = 0;
  180.                        
  181.                         if (time() - $delay_time < $min_delay) {
  182.                                 sleep ($min_delay- (time() - $delay_time));
  183.                         }
  184.                         $delay_time = time();
  185.                         if (!fst_lt_snd(phpversion(), "4.3.0")) {
  186.                                 $file = file_get_contents($url);
  187.                                 if ($file === FALSE) {
  188.                                         $file_read_error = 1;
  189.                                 }
  190.                         } else {
  191.                                 $fl = @fopen($url, "r");
  192.                                 if ($fl) {
  193.                                         while ($buffer = @fgets($fl, 4096)) {
  194.                                                 $file .= $buffer;
  195.                                         }
  196.                                 } else {
  197.                                         $file_read_error = 1;
  198.                                 }
  199.  
  200.                                 fclose ($fl);
  201.                         }
  202.                         if ($file_read_error) {
  203.                                 $contents = getFileContents($url);
  204.                                 $file = $contents['file'];
  205.                         }
  206.                                 preg_match("@<head[^>]*>(.*?)<\/head>@si",$file, $regs);
  207.                                 $headdata = $regs[1];
  208.  
  209.                                 $res = Array ();
  210.                                 preg_match("/<meta +http-equiv *=[\"']?Content-Type[\"']? *content=[\"']?([^<>'\"]+)[\"']?/i", $headdata, $res);
  211.                                 if (isset ($res)) {
  212.                                 $content = $res[1];
  213.                         }
  214.                                 $content = strtolower($content);
  215.  
  216.                                 if ( $content == "" ) {
  217.                                 $sc = get_headers($url, 1);
  218.                                 $content = strtolower($sc[Content-Type]);
  219.                         }
  220.  
  221.                                 $codepages = array("windows-1251", "utf-8", "koi8-r");
  222.  
  223.                                 for ($i=0;$i<count($codepages);$i++){
  224.                                 if ( preg_match("/$codepages[$i]/", $content) ) {
  225.                                 $cur_codepage = $codepages[$i];
  226.                                  break;
  227.                                                               }
  228.                         }
  229.  
  230.                                if ( $cur_codepage != "UTF-8" || $cur_codepage != "" ) {
  231.                                $file = iconv($cur_codepage, "windows-1251", $file);
  232. }                      
  233.  
  234.                         $pageSize = number_format(strlen($file)/1024, 2, ".", "");
  235.                         printPageSizeReport($pageSize);
  236.  
  237.                         if ($url_status['content'] != 'text') {
  238.                                 $file = extract_text($file, $url_status['content']);
  239.                         }
  240.  
  241.                         printStandardReport('starting', $command_line);
  242.                
  243.  
  244.                         $newmd5sum = md5($file);
  245.                        
  246.  
  247.                         if ($md5sum == $newmd5sum) {
  248.                                 printStandardReport('md5notChanged',$command_line);
  249.                                 $OKtoIndex = 0;
  250.                         } else if (isDuplicateMD5($newmd5sum)) {
  251.                                 $OKtoIndex = 0;
  252.                                 printStandardReport('duplicate',$command_line);
  253.                         }
  254.  
  255.                         if (($md5sum != $newmd5sum || $reindex ==1) && $OKtoIndex == 1) {
  256.                                 $urlparts = parse_url($url);
  257.                                 $newdomain = $urlparts['host'];
  258.                                 $type = 0;
  259.                                
  260.                 /*              if ($newdomain <> $domain)
  261.                                         $domainChanged = 1;
  262.  
  263.                                 if ($domaincb==1) {
  264.                                         $start = strlen($newdomain) - strlen($supdomain);
  265.                                         if (substr($newdomain, $start) == $supdomain) {
  266.                                                 $domainChanged = 0;
  267.                                         }
  268.                                 }*/
  269.  
  270.                                 // remove link to css file
  271.                                 //get all links from file
  272.                                 $data = clean_file($file, $url, $url_status['content']);
  273.  
  274.                                 if ($data['noindex'] == 1) {
  275.                                         $OKtoIndex = 0;
  276.                                         $deletable = 1;
  277.                                         printStandardReport('metaNoindex',$command_line);
  278.                                 }
  279.        
  280.  
  281.                                 $wordarray = unique_array(explode(" ", $data['content']));
  282.        
  283.                                 if ($data['nofollow'] != 1) {
  284.                                         $links = get_links($file, $url, $can_leave_domain, $data['base']);
  285.                                         $links = distinct_array($links);
  286.                                         $all_links = count($links);
  287.                                         $numoflinks = 0;
  288.                                         //if there are any, add to the temp table, but only if there isnt such url already
  289.                                         if (is_array($links)) {
  290.                                                 reset ($links);
  291.  
  292.                                                 while ($thislink = each($links)) {
  293.                                                         if ($tmp_urls[$thislink[1]] != 1) {
  294.                                                                 $tmp_urls[$thislink[1]] = 1;
  295.                                                                 $numoflinks++;
  296.                                                                 mysql_query ("insert into ".$mysql_table_prefix."temp (link, level, id) values ('$thislink[1]', '$level', '$sessid')");
  297.                                                                 echo mysql_error();
  298.                                                         }
  299.                                 }
  300.                                         }
  301.                                 } else {
  302.                                         printStandardReport('noFollow',$command_line);
  303.                                 }
  304.                                
  305.                                 if ($OKtoIndex == 1) {
  306.                                        
  307.                                         $title = $data['title'];
  308.                                         $host = $data['host'];
  309.                                         $path = $data['path'];
  310.                                         $fulltxt = $data['fulltext'];
  311.                                         $desc = substr($data['description'], 0,254);
  312.                                         $url_parts = parse_url($url);
  313.                                         $domain_for_db = $url_parts['host'];
  314.  
  315.                                         if (isset($domain_arr[$domain_for_db])) {
  316.                                                 $dom_id = $domain_arr[$domain_for_db];
  317.                                         } else {
  318.                                                 mysql_query("insert into ".$mysql_table_prefix."domains (domain) values ('$domain_for_db')");
  319.                                                 $dom_id = mysql_insert_id();
  320.                                                 $domain_arr[$domain_for_db] = $dom_id;
  321.                                         }
  322.  
  323.                                         $wordarray = calc_weights ($wordarray, $title, $host, $path, $data['keywords']);
  324.  
  325.                                         //if there are words to index, add the link to the database, get its id, and add the word + their relation
  326.                                         if (is_array($wordarray) && count($wordarray) > $min_words_per_page) {
  327.                                                 if ($md5sum == '') {
  328.                                                         mysql_query ("insert into ".$mysql_table_prefix."links (site_id, url, title, description, fulltxt, indexdate, size, md5sum, level) values ('$site_id', '$url', '$title', '$desc', '$fulltxt', curdate(), '$pageSize', '$newmd5sum', $thislevel)");
  329.                                                         echo mysql_error();
  330.                                                         $result = mysql_query("select link_id from ".$mysql_table_prefix."links where url='$url'");
  331.                                                         echo mysql_error();
  332.                                                         $row = mysql_fetch_row($result);
  333.                                                         $link_id = $row[0];
  334.  
  335.                                                         save_keywords($wordarray, $link_id, $dom_id);
  336.                                                        
  337.                                                         printStandardReport('indexed', $command_line);
  338.                                                 }else if (($md5sum <> '') && ($md5sum <> $newmd5sum)) { //if page has changed, start updating
  339.  
  340.                                                         $result = mysql_query("select link_id from ".$mysql_table_prefix."links where url='$url'");
  341.                                                         echo mysql_error();
  342.                                                         $row = mysql_fetch_row($result);
  343.                                                         $link_id = $row[0];
  344.                                                         for ($i=0;$i<=15; $i++) {
  345.                                                                 $char = dechex($i);
  346.                                                                 mysql_query ("delete from ".$mysql_table_prefix."link_keyword$char where link_id=$link_id");
  347.                                                                 echo mysql_error();
  348.                                                         }
  349.                                                         save_keywords($wordarray, $link_id, $dom_id);
  350.                                                         $query = "update ".$mysql_table_prefix."links set title='$title', description ='$desc', fulltxt = '$fulltxt', indexdate=now(), size = '$pageSize', md5sum='$newmd5sum', level=$thislevel where link_id=$link_id";
  351.                                                         mysql_query($query);
  352.                                                         echo mysql_error();
  353.                                                         printStandardReport('re-indexed', $command_line);
  354.                                                 }
  355.                                         }else {
  356.                                                 printStandardReport('minWords', $command_line);
  357.  
  358.                                         }
  359.                                 }
  360.                         }
  361.                 } else {
  362.                         $deletable = 1;
  363.                         printUrlStatus($url_status['state'], $command_line);
  364.  
  365.                 }
  366.                 if ($reindex ==1 && $deletable == 1) {
  367.                         check_for_removal($url);
  368.                 } else if ($reindex == 1) {
  369.                        
  370.                 }
  371.                 if (!isset($all_links)) {
  372.                         $all_links = 0;
  373.                 }
  374.                 if (!isset($numoflinks)) {
  375.                         $numoflinks = 0;
  376.                 }
  377.                 printLinksReport($numoflinks, $all_links, $command_line);
  378.         }
  379.  
  380.  
  381.         function index_site($url, $reindex, $maxlevel, $soption, $url_inc, $url_not_inc, $can_leave_domain) {
  382.                 global $mysql_table_prefix, $command_line, $mainurl,  $tmp_urls, $domain_arr, $all_keywords;
  383.                 if (!isset($all_keywords)) {
  384.                         $result = mysql_query("select keyword_ID, keyword from ".$mysql_table_prefix."keywords");
  385.                         echo mysql_error();
  386.                         while($row=mysql_fetch_array($result)) {
  387.                                 $all_keywords[addslashes($row[1])] = $row[0];
  388.                         }
  389.                 }
  390.                 $compurl = parse_url($url);
  391.                 if ($compurl['path'] == '')
  392.                         $url = $url . "/";
  393.        
  394.                 $t = microtime();
  395.                 $a =  getenv("REMOTE_ADDR");
  396.                 $sessid = md5 ($t.$a);
  397.        
  398.        
  399.                 $urlparts = parse_url($url);
  400.        
  401.                 $domain = $urlparts['host'];
  402.                 if (isset($urlparts['port'])) {
  403.                         $port = (int)$urlparts['port'];
  404.                 }else {
  405.                         $port = 80;
  406.                 }
  407.  
  408.                
  409.        
  410.                 $result = mysql_query("select site_id from ".$mysql_table_prefix."sites where url='$url'");
  411.                 echo mysql_error();
  412.                 $row = mysql_fetch_row($result);
  413.                 $site_id = $row[0];
  414.                
  415.                 if ($site_id != "" && $reindex == 1) {
  416.                         mysql_query ("insert into ".$mysql_table_prefix."temp (link, level, id) values ('$url', 0, '$sessid')");
  417.                         echo mysql_error();
  418.                         $result = mysql_query("select url, level from ".$mysql_table_prefix."links where site_id = $site_id");
  419.                         while ($row = mysql_fetch_array($result)) {
  420.                                 $site_link = $row['url'];
  421.                                 $link_level = $row['level'];
  422.                                 if ($site_link != $url) {
  423.                                         mysql_query ("insert into ".$mysql_table_prefix."temp (link, level, id) values ('$site_link', $link_level, '$sessid')");
  424.                                 }
  425.                         }
  426.                        
  427.                         $qry = "update ".$mysql_table_prefix."sites set indexdate=now(), spider_depth = $maxlevel, required = '$url_inc'," .
  428.                                         "disallowed = '$url_not_inc', can_leave_domain=$can_leave_domain where site_id=$site_id";
  429.                         mysql_query ($qry);
  430.                         echo mysql_error();
  431.                 } else if ($site_id == '') {
  432.                         mysql_query ("insert into ".$mysql_table_prefix."sites (url, indexdate, spider_depth, required, disallowed, can_leave_domain) " .
  433.                                         "values ('$url', now(), $maxlevel, '$url_inc', '$url_not_inc', $can_leave_domain)");
  434.                         echo mysql_error();
  435.                         $result = mysql_query("select site_ID from ".$mysql_table_prefix."sites where url='$url'");
  436.                         $row = mysql_fetch_row($result);
  437.                         $site_id = $row[0];
  438.                 } else {
  439.                         mysql_query ("update ".$mysql_table_prefix."sites set indexdate=now(), spider_depth = $maxlevel, required = '$url_inc'," .
  440.                                         "disallowed = '$url_not_inc', can_leave_domain=$can_leave_domain where site_id=$site_id");
  441.                         echo mysql_error();
  442.                 }
  443.        
  444.        
  445.                 $result = mysql_query("select site_id, temp_id, level, count, num from ".$mysql_table_prefix."pending where site_id='$site_id'");
  446.                 echo mysql_error();
  447.                 $row = mysql_fetch_row($result);
  448.                 $pending = $row[0];
  449.                 $level = 0;
  450.                 $domain_arr = get_domains();
  451.                 if ($pending == '') {
  452.                         mysql_query ("insert into ".$mysql_table_prefix."temp (link, level, id) values ('$url', 0, '$sessid')");
  453.                         echo mysql_error();
  454.                 } else if ($pending != '') {
  455.                         printStandardReport('continueSuspended',$command_line);
  456.                         mysql_query("select temp_id, level, count from ".$mysql_table_prefix."pending where site_id='$site_id'");
  457.                         echo mysql_error();
  458.                         $sessid = $row[1];
  459.                         $level = $row[2];
  460.                         $pend_count = $row[3] + 1;
  461.                         $num = $row[4];
  462.                         $pending = 1;
  463.                         $tmp_urls = get_temp_urls($sessid);
  464.                 }
  465.        
  466.                 if ($reindex != 1) {
  467.                         mysql_query ("insert into ".$mysql_table_prefix."pending (site_id, temp_id, level, count) values ('$site_id', '$sessid', '0', '0')");
  468.                         echo mysql_error();
  469.                 }
  470.        
  471.        
  472.                 $time = time();
  473.        
  474.        
  475.                 $omit = check_robot_txt($url);
  476.        
  477.                 printHeader ($omit, $url, $command_line);
  478.        
  479.        
  480.                 $mainurl = $url;
  481.                 $num = 0;
  482.        
  483.                 while (($level <= $maxlevel && $soption == 'level') || ($soption == 'full')) {
  484.                         if ($pending == 1) {
  485.                                 $count = $pend_count;
  486.                                 $pending = 0;
  487.                         } else
  488.                                 $count = 0;
  489.        
  490.                         $links = array();
  491.        
  492.                         $result = mysql_query("select distinct link from ".$mysql_table_prefix."temp where level=$level && id='$sessid' order by link");
  493.                         echo mysql_error();
  494.                         $rows = mysql_num_rows($result);
  495.        
  496.                         if ($rows == 0) {
  497.                                 break;
  498.                         }
  499.        
  500.                         $i = 0;
  501.        
  502.                         while ($row = mysql_fetch_array($result)) {
  503.                                 $links[] = $row['link'];
  504.                         }
  505.        
  506.                         reset ($links);
  507.        
  508.        
  509.                         while ($count < count($links)) {
  510.                                 $num++;
  511.                                 $thislink = $links[$count];
  512.                                 $urlparts = parse_url($thislink);
  513.                                 reset ($omit);
  514.                                 $forbidden = 0;
  515.                                 foreach ($omit as $omiturl) {
  516.                                         $omiturl = trim($omiturl);
  517.        
  518.                                         $omiturl_parts = parse_url($omiturl);
  519.                                         if ($omiturl_parts['scheme'] == '') {
  520.                                                 $check_omit = $urlparts['host'] . $omiturl;
  521.                                         } else {
  522.                                                 $check_omit = $omiturl;
  523.                                         }
  524.        
  525.                                         if (strpos($thislink, $check_omit)) {
  526.                                                 printRobotsReport($num, $thislink, $command_line);
  527.                                                 check_for_removal($thislink);
  528.                                                 $forbidden = 1;
  529.                                                 break;
  530.                                         }
  531.                                 }
  532.                                
  533.                                 if (!check_include($thislink, $url_inc, $url_not_inc )) {
  534.                                         printUrlStringReport($num, $thislink, $command_line);
  535.                                         check_for_removal($thislink);
  536.                                         $forbidden = 1;
  537.                                 }
  538.        
  539.                                 if ($forbidden == 0) {
  540.                                         printRetrieving($num, $thislink, $command_line);
  541.                                         $query = "select md5sum, indexdate from ".$mysql_table_prefix."links where url='$thislink'";
  542.                                         $result = mysql_query($query);
  543.                                         echo mysql_error();
  544.                                         $rows = mysql_num_rows($result);
  545.                                         if ($rows == 0) {
  546.                                                 index_url($thislink, $level+1, $site_id, '',  $domain, '', $sessid, $can_leave_domain, $reindex);
  547.  
  548.                                                 mysql_query("update ".$mysql_table_prefix."pending set level = $level, count=$count, num=$num where site_id=$site_id");
  549.                                                 echo mysql_error();
  550.                                         }else if ($rows <> 0 && $reindex == 1) {
  551.                                                 $row = mysql_fetch_array($result);
  552.                                                 $md5sum = $row['md5sum'];
  553.                                                 $indexdate = $row['indexdate'];
  554.                                                 index_url($thislink, $level+1, $site_id, $md5sum,  $domain, $indexdate, $sessid, $can_leave_domain, $reindex);
  555.                                                 mysql_query("update ".$mysql_table_prefix."pending set level = $level, count=$count, num=$num where site_id=$site_id");
  556.                                                 echo mysql_error();
  557.                                         }else {
  558.                                                 printStandardReport('inDatabase',$command_line);
  559.                                         }
  560.  
  561.                                 }
  562.                                 $count++;
  563.                         }
  564.                         $level++;
  565.                 }
  566.        
  567.                 mysql_query ("delete from ".$mysql_table_prefix."temp where id = '$sessid'");
  568.                 echo mysql_error();
  569.                 mysql_query ("delete from ".$mysql_table_prefix."pending where site_id = '$site_id'");
  570.                 echo mysql_error();
  571.                 printStandardReport('completed',$command_line);
  572.        
  573.  
  574.         }
  575.  
  576.         function index_all() {
  577.                 global $mysql_table_prefix;
  578.                 $result=mysql_query("select url, spider_depth, required, disallowed, can_leave_domain from ".$mysql_table_prefix."sites");
  579.                 echo mysql_error();
  580.         while ($row=mysql_fetch_row($result)) {
  581.                 $url = $row[0];
  582.                         $depth = $row[1];
  583.                 $include = $row[2];
  584.                 $not_include = $row[3];
  585.                 $can_leave_domain = $row[4];
  586.                 if ($can_leave_domain=='') {
  587.                         $can_leave_domain=0;
  588.                 }
  589.                 if ($depth == -1) {
  590.                         $soption = 'full';
  591.                 } else {
  592.                         $soption = 'level';
  593.                 }
  594.                         index_site($url, 1, $depth, $soption, $include, $not_include, $can_leave_domain);
  595.                 }
  596.         }                      
  597.  
  598.         function get_temp_urls ($sessid) {
  599.                 global $mysql_table_prefix;
  600.                 $result = mysql_query("select link from ".$mysql_table_prefix."temp where id='$sessid'");
  601.                 echo mysql_error();
  602.                 $tmp_urls = Array();
  603.         while ($row=mysql_fetch_row($result)) {
  604.                         $tmp_urls[$row[0]] = 1;
  605.                 }
  606.                 return $tmp_urls;
  607.                        
  608.         }
  609.  
  610.         function get_domains () {
  611.                 global $mysql_table_prefix;
  612.                 $result = mysql_query("select domain_id, domain from ".$mysql_table_prefix."domains");
  613.                 echo mysql_error();
  614.                 $domains = Array();
  615.         while ($row=mysql_fetch_row($result)) {
  616.                         $domains[$row[1]] = $row[0];
  617.                 }
  618.                 return $domains;
  619.                 //почти канец  
  620.         }
  621.  
  622.         function commandline_help() {
  623.                 print "Usage: php spider.php <options>\n\n";
  624.                 print "Опции:\n";
  625.                 print " -all\t\t Переиндексировать все\n";
  626.                 print " -u <url>\t Set url to index\n";
  627.                 print " -f\t\t Задать индексации глубину до полной (неограниченная глубина)\n";
  628.                 print " -d <num>\t Задать индексации глубину <num>\n";
  629.                 print " -l\t\t Разрешить паука, чтобы оставить первоначальный домен\n";
  630.                 print " -r\t\t Задать паука, чтобы индексировать сайт\n";
  631.                 print " -m <string>\t Задать строке (S), что URL должен включать (используйте \\n в качестве разделителя между несколькими строками)\n";
  632.                 print " -n <string>\t Задать строке (S), что URL не должен включать (используйте \\n в качестве разделителя между несколькими строками)\n";
  633.         }
  634.  
  635.         printStandardReport('quit',$command_line);
  636.         if ($email_log) {
  637.                 $indexed = ($all==1) ? 'ALL' : $url;
  638.                 $log_report = "";
  639.                 if ($log_handle) {
  640.                         $log_report = "Лог сохраняются в $log_file";
  641.                 }
  642.                 mail($admin_email, "Доклад Magic Search:", "Magic Search закончил индексирование $indexed at ".date("y-m-d H:i:s").". ".$log_report);
  643.         }
  644.         if ( $log_handle) {
  645.                 fclose($log_handle);
  646.         }
  647.  
  648. ?>
  649.  

но этот паук почему то индексирует сайт который введеш и даже есть ссылки на другие сайты он их не берет

вчем дело??(если чего то недостаточно могу весь движолк вывалить..
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Напишите за меня, пожалуйста »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB