Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

βρηκα ενα crawler kai τον αλλαξα λιγο δουλευει κανονικα μονο που οταν βαζω ενα url να κανει crawl δεν κανει αυτος ειναι ο κωδικας

<?php


require_once('_config.php');
require_once('_db.php');
require_once('_crawler.php');

set_time_limit (0);

error_reporting (E_ERROR | E_WARNING | E_PARSE);

$crawl_max_shown_depth = $CRAWL_MAX_DEPTH - 1;

print "PHP-Crawler started...<br />\n";
print "Log format: Crawling: [Current depth ({$crawl_max_shown_depth} MAX)] URL Action<br />\n";

if ($CRAWL_DB_DISABLE_KEYS) sql_query("/*!40000 ALTER TABLE `phpcrawler_links` DISABLE KEYS */;");

addHeadLink(1, $CRAWL_ENTRY_POINT_URL);

markOldURLsToCrawl();

$url_counter = 0;
$url_size = 0;
$CRAWL_ENTRY_POINT_URL=$_POST['url']; 
echo $CRAWL_ENTRY_POINT_URL;
while($URL_info = getURLToCrawl()) {
   // Cooldown
   usleep ($CRAWL_THREAD_SLEEP_TIME);
   
   $url_counter++;
   
   $URL = $URL_info["url"];
   $site_URL = $CRAWL_ENTRY_POINT_URL;
   //$site_URL = $URL_info["site_url"];
   
   //$current_URL = preg_replace("/\/[^\/]+$/i", "", $URL_info["url"]);
   $current_URL = preg_replace("/([^\/])\/[^\/]+$/i", "\\1", $URL_info["url"]);
   //print(" base: " . $current_URL . " ");
   
   print "Crawling: [" . $URL_info["depth"] . "] {$URL}";
   
   $page = fetchURL($URL);
   if ($page === false) {
      dropURLFromDB($URL_info["id"]);
      print " - FAILED/REMOVED.<br>\n";
      continue;
   }
   
   $page_size = strlen($page);
   $url_size += $page_size;
   print " " . ($page_size / 1000) . "kb";
   
   $page_content = preparePage($page);
   $page_content_md5 = md5($page_content);
   
   $page_hash = prepareHash($page_content); // puts words into DB; returns number of words
   $page_hash_md5 = md5($page_hash);
   
   if($page_counter = checkEquals($page_content_md5)) {
      unsetURLFromDB($URL_info["id"]);
      print " - SKIPPED ({$page_counter} equals).<br />\n";
      continue;
   }
   
   $URLs_draft = getURLsFromPage($page, $URL_info["depth"] + 1); //array
   $page_title = getPageTitle($page);
   $URLs_clean = filterURLs($URLs_draft, $site_URL, $current_URL); //$base_URL, $current_URL
   $URLs_to_crawl = addURLsToCrawl($URL_info["site_id"], $URLs_clean, $URL_info["depth"] + 1);
   
   print " +" . $URLs_to_crawl . " urls.<br />\n";
   
   // send_page_to_db($URL_info["id"], $page_title, $page_content, $page_content_md5);
   sendPageToDB($URL_info["id"], $page_title, $page_hash, $page_hash_md5);
}

if ($CRAWL_DB_DISABLE_KEYS) sql_query("/*!40000 ALTER TABLE `phpcrawler_links` ENABLE KEYS */;");

print $url_counter . " pages crawled, " . ($url_size/1000) . "Kb processed.<br>\n";

?>

αν μπορει καποιος να βοηθησει αυτο δειχνει οταν βαζω καποιο url 

post-248029-0-91709900-1399834144_thumb.png

Δημοσ.

Εγώ λέω να στείλεις το httrack για την εργασία και αν σου πουν τίποτα να πεις "έτσι κι αλλιώς και κώδικα να έστελνα δε θα είχε διαφορά γιατί θα ήταν copy paste από το internet και τα προβλήματα θα μου τα έφτιαχναν άλλοι, οπότε ούτε μια γραμμή δε θα γράφαμε μόνοι μας και σ' αυτή την περίπτωση".

Δημοσ.

βρηκα ενα crawler kai τον αλλαξα λιγο 

τι αλλαξες;

 

 

δουλευει κανονικα 

δηλαδη κανει crawl?

 

 

μονο που οταν βαζω ενα url να κανει crawl δεν κανει 

..... αλλα τελικα δεν κανει;

 

Εχεις καταλαβει τι υποτιθεται πρεπει να κανει αυτος ο κωδικας; 

 

Hint 1: δες το output που παιρνεις και προσπαθησε να εντοπισεις στον κωδικα που το κανει. Δες ποια μεθοδος δινει τιμη στη καθε μεταβλητη που γινεται output.

Hint 2: χρησιμοποιεις κωδικα που δεν παρεθεσες

Δημοσ.

δεν παιρνει το url απο οτι καταλαβα το url το παιρνει απο την συναρτηση αυτη

 function getURLToCrawl() {
      global $CRAWL_MAX_DEPTH;
      $url = sql_fetch_hash("SELECT l.* FROM phpcrawler_links l WHERE l.crawl_now = 1 and l.depth < %d and l.url != '' LIMIT 1", $CRAWL_MAX_DEPTH);
      
      return $url;
   }

αλλα στον πινακα δν εχω περασει κανενα url

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...