Foros del Web » Programando para Internet » Javascript »

Recuperar código fuente de otro sitio Web

Estas en el tema de Recuperar código fuente de otro sitio Web en el foro de Javascript en Foros del Web. Hola comunidad FDW, Estoy desarrollando una extensión sencilla para Chrome, pero llevo ya algunos minutos averiguando cómo recuperar el código HTML de una dirección (e.g.: ...
  #1 (permalink)  
Antiguo 04/05/2012, 15:51
 
Fecha de Ingreso: junio-2008
Ubicación: Bogotá Colombia
Mensajes: 45
Antigüedad: 15 años, 10 meses
Puntos: 0
Pregunta Recuperar código fuente de otro sitio Web

Hola comunidad FDW,

Estoy desarrollando una extensión sencilla para Chrome, pero llevo ya algunos minutos averiguando cómo recuperar el código HTML de una dirección (e.g.: www.google.com) y luego recuperar un elemento por su ID. O iterar por una colección de elementos de determinada etiqueta (div, por ejemplo).

He probado algunos código, como:

Código:
<HTML>
<head>

<script language=javascript> 

function getcontent(acc, ind, key) {

var url = "http://www.mendhak.com/main.php";
var xmlhttp = new ActiveXObject("MSXML2.ServerXMLHTTP"); 
xmlhttp.open("GET", url, 0); 
xmlhttp.send(""); 
var xmlhttp = null; 
document.write(xmlhttp.responseText);
}

</script>

</head>
<body>
Hello

<b><a href="javascript:getcontent(0,0,'tyhfx')">get content</a></b>

</body>
</HTML>
Código:
Ç<html>
<head>
<script type="text/javascript">
function loadXMLDoc()
{
var xmlhttp;
if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
    }
  }
xmlhttp.open("GET","ajax_info.txt",true);
xmlhttp.send();
}
</script>
</head>
<body>

<div id="myDiv"><h2>Let AJAX change this text</h2></div>
<button type="button" onclick="loadXMLDoc()">Change Content</button>

</body>
</html>
Pero no he obtenido ningún resultado satisfactorio.

¿Me podrían dar sugerencias para tratar de resolver este caso?

Gracias de antemano.
Hasta pronto.
  #2 (permalink)  
Antiguo 05/05/2012, 11:14
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: Recuperar código fuente de otro sitio Web

http://www.w3schools.com/dom/dom_nodes_get.asp
Pero no funciona con página de dominios diferentes

Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #3 (permalink)  
Antiguo 05/05/2012, 12:34
Avatar de chwc  
Fecha de Ingreso: julio-2008
Ubicación: Buenos Aires ! :D
Mensajes: 814
Antigüedad: 15 años, 8 meses
Puntos: 103
Respuesta: Recuperar código fuente de otro sitio Web

hola, primero nescesitas agregar un permiso al manifesto de la paginas que vas a recuperar:
Código Javascript:
Ver original
  1. "permissions": [
  2.     "*://*.google.com/",
  3.     "*://*.google.com.ar/"
  4.   ]
luego, tu codigo debe ser correcto, usa esto como el codigo de el html que vas a usar
Código HTML:
Ver original
  1. <!doctype html>
  2.   <head>
  3.     <title>Obteniendo datos</title>
  4.     <style>
  5.       body {
  6.         min-width:357px;
  7.         overflow-x:hidden;
  8.       }</style>
  9.     <script src="popup.js"></script>
  10.   </head>
  11.   <body>
  12. <p>Obteniendo datos</p>
  13.   </body>
  14. </html>

y luego creas popup.js, acuerdate que google chrome no usa microsoft.xmlhttprequest, usa la clase XMLHttpRequest()

Código Javascript:
Ver original
  1. var req = new XMLHttpRequest();
  2. req.open(
  3.     "GET",
  4.     "http://www.google.com/",
  5.     true);
  6. req.onload = agregarDatos();
  7. req.send(null);
  8. function agregarDatos(){
  9. alert(req.responseText);
  10. }
y luego debes manipular el req.responseText,para obtener los ids,no se bien como pero debes buscas, seguramente hay una forma nativa.

saludos

Etiquetas: chrome, extension, html
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 15:00.