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

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

Δημοσ.

εχω φτιαξει αυτο to crawler αλλα δεν παιρναει αθατα που θελω στη βαση μπορει καποιος να βοηθησει αθτοσ ειναι ο κωδικασ

 <?php  
 header('Content-Type: text/html; charset=utf-8');
 include_once('simple_html_dom.php');  
 
 $firsttime = time();
   $con=mysqli_connect("localhost","root","");
// Check connection
if (mysqli_connect_errno()) {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

// Create database
//$sql="CREATE DATABASE crawler";
//if (mysqli_query($con,$sql)) {
//  echo "Database crawler created successfully";
//} else {
//  echo "Error creating database: " . mysqli_error($con);
//}
$con=mysqli_connect("localhost","root","","crawler");
// Check connection
if (mysqli_connect_errno()) {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
// Create table
$sql="CREATE TABLE crawl(PAGE VARCHAR(1000),LINKS VARCHAR(1000),TITLE CHAR(100),BYTES INT,NLINKS INT)";

// Execute query
if (mysqli_query($con,$sql)) {
  echo "Table crawl created successfully";
} else {
  echo "Error creating table: " . mysqli_error($con);
}
       
    // Create DOM from URL 
	$url=$_POST['url'];
$html = file_get_html($url);

// Find all links 
$allURLs = array();  
$file = array(); 

$p=0;  
$b=0; 
$image = array (); 

function getTitle($Url){
        $str = @file_get_contents($Url);
        if(strlen($str)>0){
                preg_match("/\<title\>(.*)\<\/title\>/",$str,$title);
                return $title[1];
        }
}

function curl_get_file_size( $url ) {
  // Assume failure.
  $result = -1;

  $curl = curl_init( $url );

  // Issue a HEAD request and follow any redirects.
  curl_setopt( $curl, CURLOPT_NOBODY, true );
  curl_setopt( $curl, CURLOPT_HEADER, true );
  curl_setopt( $curl, CURLOPT_RETURNTRANSFER, true );
  curl_setopt( $curl, CURLOPT_FOLLOWLOCATION, true );
  //curl_setopt( $curl, CURLOPT_USERAGENT, get_user_agent_string() );

  $data = curl_exec( $curl );
  curl_close( $curl );

  if( $data ) {
    $content_length = "unknown";
    $status = "unknown";

    if( preg_match( "/^HTTP\/1\.[01] (\d\d\d)/", $data, $matches ) ) {
      $status = (int)$matches[1];
    }

    if( preg_match( "/Content-Length: (\d+)/", $data, $matches ) ) {
      $content_length = (int)$matches[1];
    }

    // http://en.wikipedia.org/wiki/List_of_HTTP_status_codes
    if( $status == 200 || ($status > 300 || $status <= 308) ) {
      $result = $content_length;
    }
  }

  return $result;
}
  	
foreach($html->find('a') as $element){
         
       $allURLs[] = $element->href;  
	   $p=$p+1;  
	   } 
	  



	   for($i=0; $i<=$p; $i++){ 
	   $u=getTitle($allURLs[$i]); 
	   $a=$allURLs[$i];
	   $file[$i]= curl_get_file_size( $a); 
	   $size=$file[$i]/1000;
          $con=mysqli_connect("localhost","root","");
    // Check connection
     if (mysqli_connect_errno()) {
     echo "Failed to connect to MySQL: " . mysqli_connect_error();
       }
		$db_selected = mysqli_select_db($con,'crawler');
       if (!$db_selected) {
      die ('Can\'t use crawler : ' . mysql_error());
  		 
	
		  	
			$vURLSQL = " INSERT INTO `crawl` (  `PAGE` , `LINKS` , `TITLE` , `BYTES` , `NLINKS` )
							VALUES ('$url' , '$a', '$u', '$size', '$p' )";				
			mysql_query($vURLSQL); 	
			mysql_close();
		}
        echo "$u[$i]<br>";
	   echo "Page requested: ".$allURLs[$i]."<br>"; 
	   echo "Referer-page: ".$url."<br>";
       echo "KB:".$size."<br>";
    }
	
	  foreach($html->find('img') as $element){
        $image[]=$element->src ; 
		$b=$b+1; 
      }		
		
	
	 for($i=0; $i<=$b; $i++){ 
	   $u=getTitle($image[$i]); 
	   $t=$image[i];
	   $file= curl_get_file_size( $image[$i]); 
	   $size=$file/1000;
          $con=mysqli_connect("localhost","root","");
    // Check connection
     if (mysqli_connect_errno()) {
     echo "Failed to connect to MySQL: " . mysqli_connect_error();
       }
		$db_selected = mysqli_select_db($con,'crawler');
       if (!$db_selected) {
      die ('Can\'t use crawler : ' . mysql_error());
  		 
	
		  	
			$vURLSQL = " INSERT INTO `crawl` (  `PAGE` , `LINKS` , `TITLE` , `BYTES` , `NLINKS` )
							VALUES ('$url' , '$t', '$u', '$size', '$b' )";				
			mysql_query($vURLSQL); 	
			mysql_close();
		}
        echo "$u[$i]<br>";
	   echo "Page requested: ".$image[$i]."<br>"; 
	   echo "Referer-page: ".$url."<br>";
       echo "KB:".$size."<br>";
    }
	
	$lasttime=time(); 
	$time=$lasttime-$firsttime;

echo $time;


	      
?> 

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

 

Δημοσ.
  Στις 28/5/2014 στις 10:41 ΠΜ, JOHNYS22031990 είπε

εχω φτιαξει αυτο to crawler

 

Αν το είχες φτιάξει εσύ δε θα ήσουν τώρα σ' αυτή τη θέση.

 

Anyway καλή τύχη γιατί αυτό που έχεις στα χέρια σου είναι τόσο λάθος που δε σώζεται με τίποτα, και δε νομίζω κανείς να μπει στον κόπο ασχοληθεί εφόσον εσύ ο ίδιος το αντιμετωπίζεις καθαρά σα φύγε κακό απ τα μάτια μου.

Δημοσ.

εγω το εχω φτιαξει και παιζει μια χαρα απλα δν τα αποθηκευει στη βαση παρολο που εχω βαλει το query 
  Στις 28/5/2014 στις 12:41 ΜΜ, JOHNYS22031990 είπε
εγω το εχω φτιαξει και παιζει μια χαρα απλα δν τα αποθηκευει στη βαση παρολο που εχω βαλει το query 

για αυτο που το θελω μια χαρα ειναι απλα δν μ παιρναει τα στοιχεια στη βαση

Δημοσ.

Για αυτό που το θέλεις είναι απλά να περάσεις το μάθημα έχοντα κώδικα που είτε σου έδωσε άλλος είτε ο καθηγητής σαν template. 

 

 

Διάβασε να περάσεις το μάθημα με την αξία σου. 

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

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

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

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

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

Σύνδεση

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

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