Ver Mensaje Individual
  #6 (permalink)  
Antiguo 12/01/2015, 11:21
Avatar de enlinea777
enlinea777
 
Fecha de Ingreso: mayo-2008
Ubicación: frente al pc
Mensajes: 1.830
Antigüedad: 16 años
Puntos: 127
Respuesta: estructura de una web para parsear

Hola Andreiya

aqui te dejo el codigo para parsear en google, espero te ayude.

aqui el ejemplo en vivo

http://creaelicita.cl/ayuda/foro_111...hp?texto=gatos

usa la variable texto para buscar lo que quieras

Código PHP:
<?php
include('simple_html_dom.php'); 
  
        
$handler curl_init();// iniciar el comando CURL POR PHP
        
curl_setopt($handlerCURLOPT_URL'https://www.google.com/search?q=gatitos&ie=utf-8&oe=utf-8');
        
curl_setopt($handlerCURLOPT_RETURNTRANSFER1);
        
curl_setopt($handler,CURLOPT_USERAGENT,'Mozilla/4.0 (PDA; PalmOS/sony/model prmr/Revision:1.1.54 (en)) NetFront/3.0');// IMPORTANTE HACRCE PASAR POR UNA PALM TE ASEGURA UN RESULTADO MAS LIMPIO
        // OTROS COMPLEMENTOS
        
curl_setopt($handler,CURLOPT_HOTS,'www.google.com');
        
curl_setopt($handler,CURLOPT_ACCEPT,'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8');
        
curl_setopt($handler,CURLOPT_ACCEPTLANGUAGE,'es-cl,es;q=0.8,en-us;q=0.5,en;q=0.3');
        
curl_setopt($handler,CURLOPT_COOKIE,'NID=67=nHypWZWZS_T-SlSSuXAJTMhZB4gIvYOtOUP0vjoOPGjE8HYSK0ONSY1luZeWkIvH7iqpVdxH6Xf0BEcTqIj1Y6rrZJQ8z8O3HdX2gFekYHs-Eh0dJ6d_aw8Lq2VHtFwlBLVxEk5P4t77cyvTNK7EeEDrmUtrgoBFEX72EDgPHvJ42GJshGlaYLTa-Gr2pguDypLsCNRySdDN5dyxSnIn; SID=DQAAAAICAABeps3N4B3sU4HJ1vIE97a98emN7n94wpIoW5MJRRMNHexTSzoY_NfXTV8CIZ2NW6vnC0K2G8Sq7YqEWI_pEEuHPvWA4CkLxMFMC_An3BkmgX9ZD9MywaLuUGlMF-3Hyf8PgJbc6NYTqaN1Qo6duT3aMplkRVmVMHVdPfq46VffGIq0ayEzcd-uYmTjE7ckT0rpb-RqrcuGUyvqUZPnvFbCwDqcGtSd98bEj6bfwDyG3Ap6apF_v6DmQan-eNkIE1FEXzHB0bXd_nKROCm4FKJrz1tONYJGRVP43XHbgv89UkEyF9OAgiZvUB3PyFUU4ihkv0raYQZBcLiiY6NvRPANpKfN885MNwaFPHLHR1woTELjrorj-YASvVxr8ai3blqs7nFI8fy1S_DwWe_weJxn6PvZsX757xh0GQBMOfKznHlx6XFNKaVmwlhdhwlVY3UfJO-svRhpOSCReeLzFlhye19A1sSY-HCTlBEZVI6eXKhCkb5YzTr5DZM79bC2Px45RBu39M4i8znhjIgNe3a6xC5P6crGjAkes6qx7LEdc9keJB27X0ZN5e_S6wccrp9zbMGn9jJ03hW47A4FISDqhyETipj40sXIx0xEDungKl9U_4cGbAMeyWdjwc-HqVu4jSHNw5mOwNloTY_zFWlAdXnalvNzRoBEiRWHHh59Z9rtvxnekr33q7t3xMqo8Gg; HSID=AbEEV6EbfNcqLumK2; SSID=ApgzPR1FFU_d2zQU7; APISID=HugUvpV0VR3gJMIQ/AVyBODG-BvQpt5r7O; SAPISID=oCYqAoqsB6_lPdrh/AFw8b_LEX6RubiuAr; PREF=ID=b904718712cc0d24:U=39272d8d77cdf325:FF=0:LD=es-419:NR=100:TM=1407341101:LM=1421081382:GM=1:SG=1:S=Iy_OMhncF0Buyype; GOOGAPPUID=739; enabledapps.uploader=0; llbcs=0');
        
curl_setopt($ch,CURLOPT_CONNECTION,'keep-alive');
        
curl_setopt($ch,CURLOPT_PRAGMA,'no-cache');
        
curl_setopt($ch,CURLOPT_CACHECONTROL,'no-cache');
    
$response curl_exec($handler);// EJECURAT Y DEVOLVER EL RESULTADO
    
    
curl_close($handler); //CERRAR LA LLAMADA
    
    // ALGUNOS FILTROS  PARA EL HTML  
    
$response ereg_replace("<script([^>]*)>([^<]*)<\/script>",'',$response);
    
$response preg_replace('/(<[^>]+) style=".*?"/i''$1'$response);
    
$response preg_replace('/(<[^>]+) class=".*?"/i''$1'$response);
    
$response preg_replace('/(<[^>]+) bgcolor=".*?"/i''$1'$response);
    
$response preg_replace('/(<[^>]+) border=".*?"/i''$1'$response);
    
$response preg_replace('/(<[^>]+) title=".*?"/i''$1'$response);
    
$response preg_replace('/(<[^>]+) onDblClick=".*?"/i''$1'$response);
    
$response preg_replace('/(<[^>]+) onClick=".*?"/i''$1'$response);
    
$response preg_replace('/(<[^>]+) class=".*?"/i''$1'$response);
    
$response preg_replace('/(<[^>]+) role=".*?"/i''$1'$response);
    
$response preg_replace('/(<[^>]+) tabindex=".*?"/i''$1'$response);
    
$response preg_replace('/(<[^>]+) aria-expanded=".*?"/i''$1'$response);
    
$response preg_replace('/(<[^>]+) aria-haspopup=".*?"/i''$1'$response);
    
$response preg_replace('/(<[^>]+) data-ved=".*?"/i''$1'$response);
    
$response preg_replace('/\<ol\>/i''$1'$response);$response preg_replace('/\<\/ol\>/i''$1'$response);
    
$response preg_replace('/\<h.\>/i''$1'$response);$response preg_replace('/\<\/h.\>/i''$1'$response);
    
$response preg_replace('/\<br\>/i''$1'$response);
    
$response preg_replace('/\<span\>/i''$1'$response);$response preg_replace('/\<\/span\>/i''$1'$response);
    
$response preg_replace('/\<ul\>/i''$1'$response);    $response preg_replace('/\<\/ul\>/i''$1'$response);
    
$response preg_replace('/\<b\>/i''$1'$response);    $response preg_replace('/\<\/b\>/i''$1'$response);
    
$response ereg_replace("<cite([^>]*)>([^<]*)<\/cite>",'',$response);
    
$response =preg_replace('/thead/''tr'$response);
    
$response =preg_replace('/\<\/th>/''</td> '$response);
    
$response preg_replace('/tbody/''tr'$response);

?><h1>Links</h1><?      
$html 
str_get_html($response);  // USAR  simple_html_dom   PARA FACILITAR LA BUSQUEDA
$ret $html->find('a'); // BUSCAR LOS LINKS

    
foreach($ret as $element){// RECORRER LOS LINKS
        
$link=$element->href;
        
$link='http'.preg_replace('/http(.*)http/'''$link);// REEMPLASA LOS LINKS DE GOOGLE
        
$texto=$element->plaintext;// TEXTO DEL LINK
        
$q=substr($link,0,5);// LOS PRIMEROS 5 CARACTERES PARA FILTRAR RESULTADOS ENTRE PAGINAS DE GOOGLE Y BUSQIEDAS
        
        
if($q=='http:' && $texto!='Cached'){// FILTRADO ENTRE PAGINAS DE GOOGLE Y BUSQIEDAS
        
?>
        <a href="<?=$link?>"><?=$texto?$texto:substr($link,0,(strpos(substr($link,8),"/")+8))// CODIGO AVANZADO (NO TOCAR :-)  )?></a><br>
        <? 
        
}

}
?>
NOTA: Usa el codigo del cometario anterior para el include