Foros del Web » Programando para Internet » Javascript »

extraer links de una pagina web

Estas en el tema de extraer links de una pagina web en el foro de Javascript en Foros del Web. Hola Como estan me podrian ayudar como puedo extraer links de una pagina web con javascript, tanto en texto plano como en link href. Lo ...
  #1 (permalink)  
Antiguo 13/04/2011, 13:36
 
Fecha de Ingreso: abril-2010
Mensajes: 23
Antigüedad: 14 años
Puntos: 0
Pregunta extraer links de una pagina web

Hola

Como estan me podrian ayudar como puedo extraer links de una pagina web con javascript, tanto en texto plano como en link href.

Lo quiero realizar en un solo paso con la misma funcion.


ejemplo para extraer link href.

http://megamixesvip.blogspot.com/2011/04/dj-miguelithooo-kumbia-con-sax-2011.html

ejemplo para extraer en texto plano.

http://megamixesvip.blogspot.com/2011/03/miguel-vargas-remixes-marzo.html

les dejo unos ejemplos



gracias
  #2 (permalink)  
Antiguo 13/04/2011, 15:14
Avatar de laratik  
Fecha de Ingreso: mayo-2010
Ubicación: Cali
Mensajes: 317
Antigüedad: 13 años, 10 meses
Puntos: 63
Respuesta: extraer links de una pagina web

No he entendido muy bien lo de extraer como texto plano y como link href, de todas maneras te coloco un ejemplo de como seleccionar el atributo href de todos los links que tenga una pagina:

Código HTML:
<html>
<head>
<script type="text/javascript">
function extraer() {
	var enlaces = document.getElementsByTagName("a");
	var mostrar = document.getElementById("mostrar");
	for(var i=0; i<enlaces.length; i++) {
		mostrar.appendChild(document.createTextNode(enlaces.item(i).getAttribute("href")));
		mostrar.appendChild(document.createElement("br"));
	}
}
</script>
</head>
<body>

<a href="http://www.google.com">google</a>
<a href="http://http://www.forosdelweb.com">foros del web</a>

<input type="button" value="extraer href" onClick="extraer()" />

<div id="mostrar"></div>

</body>
</html> 
Si no es lo que buscas, por favor trata de ser un poco más explicito.
__________________
Programar apasiona y lo que apasiona es un arte, por lo tanto programar es un arte.

Quiero karma para en mi próxima vida ser un billonario bien dotado con alas.
  #3 (permalink)  
Antiguo 13/04/2011, 15:31
 
Fecha de Ingreso: abril-2010
Mensajes: 23
Antigüedad: 14 años
Puntos: 0
Pregunta Respuesta: extraer links de una pagina web

Disculpa por no darme a entender mira mi duda es poder extraer todo el contenido de la cualquier pagina web, extraer todo lo que contenga http y www


digamos en este ejemplo poder extraer toda la cadena que cumplan con esa condicion.


<link rel="stylesheet" type="text/css" href="http://static.forosdelweb.com/clientscript/fdwforumhome/headmenu.css?v=7" />
<link rel="stylesheet" type="text/css" href="http://static.forosdelweb.com/clientscript/fdwforumhome/shared.css?v=8" />

<style type="text/css" id="vbulletin_css">
/**
* vBulletin 3.8.6 CSS
* Style: 'Fdw 2011'; Style ID: 11
*/
@import url("clientscript/vbulletin_css/style-cc5a7cae-00011.css");
</style>
<link rel="stylesheet" type="text/css" href="clientscript/vbulletin_important.css?v=384" />


<!-- Editor Styles -->
<style type="text/css" id="vbulletin_editor_css_dynamic">
<!--
@import url("http://static.forosdelweb.com/clientscript/vbulletin_editor.css?v=384");
  #4 (permalink)  
Antiguo 13/04/2011, 15:35
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: extraer links de una pagina web

buenas @sysrj,
por favor, mantenga un tema a la vez si se trata de lo mismo. basicamente necesitas expresiones regulares para extraer las URLs. sin embargo, "extraer todo el contenido de la cualquier pagina web", me temo que eso no lo vas a poder lograr porque javascript no tiene la capacidad de interactuar con otros documentos que no sean del mismo dominio. es la seguridad de politica del mismo origen.

__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #5 (permalink)  
Antiguo 13/04/2011, 15:37
 
Fecha de Ingreso: noviembre-2005
Mensajes: 426
Antigüedad: 18 años, 5 meses
Puntos: 87
Respuesta: extraer links de una pagina web

Simplemente pega esto en la barra de direcciones (+ enter) y mágicamente te mostrara la lista de todos los links de cualquier pagina:

Cita:
javascript: var lista_nodos = document.getElementsByTagName("a"); var hrefs = ""; for(i=0;i<lista_nodos.length;i++) {hrefs += lista_nodos[i].href + "\n"}; document.getElementsByTagName("body")[0].innerHTML = hrefs;

------------------------

Para hacer un aporte educativo voy a explicar que es lo que hace; primero guarda todos los elementos "a" (o sea los links) en una variable que se llama lista_nodos

Cita:
var lista_nodos = document.getElementsByTagName("a");
Luego creo una variable de texto vacia (se coloca que este vacia ("") para que no aparesca undefined en primera anexacion)

Cita:
var hrefs = "";
Luego simplemente con un for se explora todos los elementos guardados en lista_nodos y anexa su href dentro de la variable "hrefs" que acabamos de crear, se coloca "\n" para crear un salto de linea despues de cada link.

Cita:
for(i=0;i<lista_nodos.length;i++) {hrefs += lista_nodos[i].href + "\n"};
Luego cuando ha terminado convierte todo el documento actual (body) en la lista guardad en href.

Cita:
document.getElementsByTagName("body")[0].innerHTML = hrefs;
Saludos.
  #6 (permalink)  
Antiguo 13/04/2011, 16:28
 
Fecha de Ingreso: abril-2010
Mensajes: 23
Antigüedad: 14 años
Puntos: 0
Pregunta Respuesta: extraer links de una pagina web

Si lo quiero realizar desde un script y no pegandolo en la barra del navegador como quedaria todo el script soy nuevo en esto


asi como dandole una url de entrada para que verifiuqe todo los href y www.


Gracias por tu ayuda.

Última edición por sysrj; 13/04/2011 a las 16:33
  #7 (permalink)  
Antiguo 13/04/2011, 17:07
 
Fecha de Ingreso: noviembre-2005
Mensajes: 426
Antigüedad: 18 años, 5 meses
Puntos: 87
Respuesta: extraer links de una pagina web

Desde otro dominio no es posible hacerlo con Javascript, necesitarías usar PHP o algun otro lenguaje de servidor.

En caso de intentar hacerlo con PHP lee lo que mas puedas acerca de CURL.

Etiquetas: extracción
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:16.