Ver Mensaje Individual
  #1 (permalink)  
Antiguo 30/07/2009, 14:25
Mercader
 
Fecha de Ingreso: abril-2009
Mensajes: 24
Antigüedad: 15 años
Puntos: 0
Saltar de web en web y extraer las url

Hola nuevamente por aqui.

Tengo otra cosilla que solucionar, esta la llevo pensando varios dias peor no se como hacer el metodo.

Os comento un poco, estoy haciendo un spider, este le doy una url madre y apartir de ella extraer el codigo html para luego buscar link. (asta aqui sin problemas).

la cosa esta en que ese mismo porceso deveria de repetirlo con cada link extraido, indefinidamente o si no es posible poner un numero de veces que tendria que repetir el proceso.

Dejo el codigo:

Código PHP:
$url file_get_contents($url);
###########################################################
#        Extraemos todos los link de esa web              #
###########################################################
$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 />"
$url --> es especificado desde una BD.

Un saludo