validator test regexp online one javascript regex parsing webpage

test - Abra la página web y analícela usando JavaScript



regex url javascript (4)

Puede abrir la nueva ventana en un iframe:

http://www.w3schools.com/TAGS/tag_iframe.asp

Aunque tenga en cuenta que el acceso a Javascript es limitado si el sitio que abre proviene de una URL diferente. Esto es para evitar ataques de secuencias de comandos entre sitios:

http://en.wikipedia.org/wiki/Cross-site_scripting

Sé que JavaScript puede abrir un enlace en una nueva ventana, pero ¿es posible abrir una página web sin abrirla en una ventana o mostrarla al usuario? Lo que quiero hacer es analizar esa página web para un texto y usarla como variables.

¿Es esto posible sin ayuda de los idiomas del lado del servidor? Si es así, por favor envíeme en una dirección que pueda lograr esto.

Gracias a todos


Puede usar un objeto XMLHttpRequest para hacer esto. Aquí hay un ejemplo simple

var req = new XMLHttpRequest(); req.open(''GET'', ''http://www.mydomain.com/'', false); req.send(null); if(req.status == 200) dump(req.responseText);

Una vez cargado, puede realizar su análisis sintáctico / raspado utilizando expresiones regulares de JavaScript en el miembro req.responseText.

Mas detalle...

En la práctica, debe hacer un poco más para obtener el objeto XMLHttpRequest de forma cruzada, por ejemplo:

var ua = navigator.userAgent.toLowerCase(); if (!window.ActiveXObject) req = new XMLHttpRequest(); else if (ua.indexOf(''msie 5'') == -1) req = new ActiveXObject("Msxml2.XMLHTTP"); else req = new ActiveXObject("Microsoft.XMLHTTP");

O usa una biblioteca ...

Alternativamente, puede ahorrarse toda la molestia y simplemente usar una biblioteca como jQuery o Prototype para encargarse de esto por usted.

La misma política de origen puede morderte ...

Tenga en cuenta que debido a la política de origen idéntico , la página que solicite debe ser del mismo dominio que la página que realiza la solicitud. Si desea solicitar una página remota, deberá realizar un proxy mediante un script del lado del servidor.

Otra solución posible es utilizar Flash para realizar la solicitud, que permite solicitudes entre dominios si el sitio de destino otorga permiso con un archivo crossdomain.xml adecuadamente configurado.

Aquí hay un buen artículo sobre el tema de la política del mismo origen:


Sea cual sea el origen, es una biblioteca de código abierto que le permite usar exclusivamente Javascript para hacer raspado. También resuelve el problema del "origen del mismo dominio". http://www.whateverorigin.org/

$.getJSON(''http://whateverorigin.org/get?url='' + encodeURIComponent(''http://google.com'') + ''&callback=?'', function(data){ alert(data.contents); });


Utilizarías AJAX. Esto haría una solicitud Get a la URL en cuestión y devolvería la respuesta HTML. Jquery lo hace muy fácil, por ejemplo

$.get("test.php");

jQuery

Andrés