Tema: Parse XML
Ver Mensaje Individual
  #2 (permalink)  
Antiguo 31/07/2009, 12:09
Mercader
 
Fecha de Ingreso: abril-2009
Mensajes: 24
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: Parse XML

Yo toy intentando hacer un spider, y saco el codigo html de las web , no se si esto te puede servir.

Código PHP:
$url file_get_contents(url del archivo que quieras abrir);

$extraer_link preg_match_all("/(?#WebOrIP)((?#protocol)((http|https):\/\/)?(?#subDomain)(([a-zA-Z0-9]+\.(?#domain)[a-zA-Z0-9\-]+(?#TLD)(\.[a-zA-Z]+){1,2})|(?#IPAddress)((25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9])\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[0-9])))+(?#Port)(:[1-9][0-9]*)?)+(?#Path)((\/((?#dirOrFileName)[a-zA-Z0-9_\-\%\~\+]+)?)*)?(?#extension)(\.([a-zA-Z0-9_]+))?(?#parameters)(\?([a-zA-Z0-9_\-]+\=[a-z-A-Z0-9_\-\%\~\+]+)?(?#additionalParameters)(\&([a-zA-Z0-9_\-]+\=[a-z-A-Z0-9_\-\%\~\+]+)?)*)?/i",
$url,
$respuestas); 

if (
$extraer_link
    foreach(
array_unique($respuestas[0]) as $link
echo 
$link "<br />"
Este codigo lo que hace es extraer el codigo del archivo que le indiques , luego con las expresiones regulares sacar las cosas yo te puse para que saques los url ( si te sirve te doy otras para los meta tag), por ultimo mete los link en un array y elimina los duplicados, para por fin mostrarlos en pantalla.


Edito : he probado con mi xml del site map y funciona , tenia dudas si el mismo codigo serviria para xml pero si va bien si quieres te pongo como sacar lo demas.
Un saludo

Última edición por Mercader; 31/07/2009 a las 12:16