bd2_6f5_636_330-1-original

Create Simple Web Crawler Using PHP And MySQL

Share This:

O rastreador da Web é usado para rastrear páginas da web e coletar detalhes como título da página da Web, descrição, links, etc. para os motores de busca e armazenar todos os detalhes no banco de dados para que, quando alguém procura no mecanismo de busca, obtém resultados desejados. O rastreador da web é uma das partes mais importantes um mecanismo de pesquisa. Neste tutorial, mostraremos como criar um rastreador web simples usando PHP e MySQL . Você também pode criar mecanismo de pesquisa usando PHP, Ajax e MySQL .

Para Criar Rastreador Web Simples, Toma Apenas Um Passo: –

  1. Faça um arquivo PHP para rastrear páginas da web e armazenar detalhes no banco de dados

Passo 1. Faça um arquivo PHP para rastrear páginas da web e armazenar detalhes no banco de dados

Nós fazemos um arquivo PHP e salvamos com um nome crawl.php

// Database Structure 
CREATE TABLE 'webpage_details' (
 'link' text NOT NULL,
 'title' text NOT NULL,
 'description' text NOT NULL,
 'internal_link' text NOT NULL,
) ENGINE=MyISAM AUTO_INCREMENT=5 DEFAULT CHARSET=latin1

<?php
 $main_url="http://samplesite.com";
 $str = file_get_contents($main_url);
 
 // Gets Webpage Title
 if(strlen($str)>0)
 {
  $str = trim(preg_replace('/\s+/', ' ', $str)); // supports line breaks inside <title>
  preg_match("/\<title\>(.*)\<\/title\>/i",$str,$title); // ignore case
  $title=$title[1];
 }
	
 // Gets Webpage Description
 $b =$main_url;
 @$url = parse_url( $b );
 @$tags = get_meta_tags($url['scheme'].'://'.$url['host'] );
 $description=$tags['description'];
	
 // Gets Webpage Internal Links
 $doc = new DOMDocument; 
 @$doc->loadHTML($str); 
 
 $items = $doc->getElementsByTagName('a'); 
 foreach($items as $value) 
 { 
  $attrs = $value->attributes; 
  $sec_url[]=$attrs->getNamedItem('href')->nodeValue;
 }
 $all_links=implode(",",$sec_url);
 
 // Store Data In Database
 $host="localhost";
 $username="root";
 $password="";
 $databasename="sample";
 $connect=mysql_connect($host,$username,$password);
 $db=mysql_select_db($databasename);

 mysql_query("insert into webpage_details values('$main_url','$title','$description','$all_links')");

?> 

Nesta etapa, criamos um banco de dados chamado ‘webpage_details’ para armazenar os detalhes da página da Web extraídos pelo nosso rastreador. Ao iniciar, inserimos a URL da página da Web e obtemos seu conteúdo usando a função file_get_contents () e usamos alguma expressão regular para obter o título da página. Para obter a página da Web Descrição usamos a função parse_url () e a função get_meta_tags () para obter o valor da descrição. Agora, só temos que obter todo o link apresentar uma página da Web para fazer essa tarefa, criamos um objeto de dom e carregamos html e, em seguida, obtemos toda a tag de âncora usando getElementsByTagName () e usando o loop foreach obtemos o valor do atributo href e essa é a nossa URL final e, depois disso, armazenamos todos os detalhes na nossa tabela de banco de dados.

Isso é tudo, é assim que criar um rastreador web simples usando PHP e MySQL. Você pode personalizar este código de acordo com sua exigência.

 

Fonte – http://talkerscode.com