Ver Mensaje Individual
  #5 (permalink)  
Antiguo 12/09/2012, 12:02
Avatar de xarmagedonx
xarmagedonx
 
Fecha de Ingreso: marzo-2009
Mensajes: 360
Antigüedad: 15 años, 1 mes
Puntos: 29
Respuesta: Extraer <title> con DOM en PHP

Cita:
Iniciado por pateketrueke Ver Mensaje
1. Sólo estás cargando el DOM de una sola pagina
2. Las demás paginas no se cargan por arte de magia
3. Necesitas tu cargar pagina por pagina para extraer el titulo
jajaj me parecía que me estaba olvidando de algo.

¿Para cargar las otras páginas se haría de la siguiente manera?:

$dom = new DOMDocument();
@$dom->loadHTML($url);

Luego vuelvo a extraer enlaces, que podría guardarlos en un archivo, y extraigo los titulos de cada una.

edit: Acabo de probar con preg_match_all ('/<title>(.*)<\/title>/',file_get_contents($url), $title); pero no me extrae el titulo sino que imprime el sig texto: "Array".

EDITO: Perdón, no añadí parte del código cuando copie, el código original es este:

Código PHP:
Ver original
  1. $ch = curl_init();
  2.  
  3.  
  4. $html= curl_exec($ch);
  5. if (!$html) {
  6.     echo "<br />cURL error number:" .curl_errno($ch);
  7.     echo "<br />cURL error:" . curl_error($ch);
  8.     exit;
  9. }
  10.  
  11. $dom = new DOMDocument();
  12. @$dom->loadHTML($html);
  13.  
  14. $xpath = new DOMXPath($dom);
  15. $hrefs = $xpath->evaluate("/html/body//a");
  16.  
  17. for ($i = 0; $i < $hrefs->length; $i++) {
  18.     $href = $hrefs->item($i);
  19.     $url = $href->getAttribute('href');
  20. preg_match_all ("(<title>(.*)</title>)siU", $html, $title);
  21. [...]

Última edición por xarmagedonx; 12/09/2012 a las 15:56