Obter links de uma página Web com seus atributos

  • Autor Autor Andresledo
  • Data de início Data de início
Tradução em andamento: em alguns minutos este tópico estará em português. Por enquanto, o conteúdo está no original em espanhol. Ver original
A

Andresledo

Gamma
Usuário com poucas negociações! Use sempre o saldo do ForoBeta!
Hola, llevo varias horas intentando extraer todos los enlaces de una pagina web y quedarme con el link, el anchor text y el rel, pero no soy capaz de hacerlo.

Estoy probando con el regex, pero es una estructura que me cuesta entender.

¿Alguien me puede echar una mano?

Gracias

Enviado desde mi ONEPLUS A3003 mediante Tapatalk
 
Foi útil? Participe da conversa

Com sua conta grátis você pode responder, mandar mensagem privada ao autor e comprar com Saldo retido: o pagamento é liberado quando você recebe o combinado.

Leva 30 segundos · você volta a este tópico ao terminar
Podrías usar file_get_contents() y luego con explode conviertes en array cada string que comience por "<a ", luego recorres el array (foreach) y jugando con strstr, strpos y substr puedes obtener cada link, anchor text y el rel. :encouragement:
 
[MENTION=42628]Andresledo[/MENTION] Prueba con esto! :encouragement:

PHP:
<?php

$html = file_get_contents('https://remolacha.net/');
if(!empty($html)){
	
	$dom = new DomDocument();
	@$dom->loadHTML($html);
	$links = $dom->getElementsByTagName('a');
	
	foreach($links as $link){
		echo 'TEXTO: '.$link->nodeValue.'<br/>';
		echo 'LINK: '.$link->getAttribute('href').'<br/>';
		echo 'REL: '.$link->getAttribute('rel').'<br/><br/>';
	}
	
}

?>
 
[MENTION=42628]Andresledo[/MENTION] Prueba con esto! :encouragement:

PHP:
<?php

$html = file_get_contents('https://remolacha.net/');
if(!empty($html)){
	
	$dom = new DomDocument();
	@$dom->loadHTML($html);
	$links = $dom->getElementsByTagName('a');
	
	foreach($links as $link){
		echo 'TEXTO: '.$link->nodeValue.'<br/>';
		echo 'LINK: '.$link->getAttribute('href').'<br/>';
		echo 'REL: '.$link->getAttribute('rel').'<br/><br/>';
	}
	
}

?>

Justo lo que necesitaba, gracias. Yo ya me estaba complicando bastante.

Saludos.
 
Voltar
Topo