Foros del Web » Programando para Internet » PHP »

Obtener elemento de una pagina (url) diferente DOM

Estas en el tema de Obtener elemento de una pagina (url) diferente DOM en el foro de PHP en Foros del Web. Hola, me preguntaba si se puede y si es asi, obtener datos o elementos de una pagina web mediante el uso de DOM . Por ...
  #1 (permalink)  
Antiguo 26/10/2015, 16:49
Avatar de warywin  
Fecha de Ingreso: octubre-2013
Mensajes: 155
Antigüedad: 10 años, 6 meses
Puntos: 1
Obtener elemento de una pagina (url) diferente DOM

Hola, me preguntaba si se puede y si es asi, obtener datos o elementos de una pagina web mediante el uso de DOM . Por ejemplo:
Quiero coger el nombre de esta imagen en es esta url www.ejemplo.com.
con DOM puedo hacerlo pero nose como decirle que está en una pagina diferente y exterior no se si me entienden.
Saludos!
  #2 (permalink)  
Antiguo 27/10/2015, 06:16
 
Fecha de Ingreso: agosto-2015
Ubicación: En Carúpano
Mensajes: 49
Antigüedad: 8 años, 8 meses
Puntos: 12
Respuesta: Obtener elemento de una pagina (url) diferente DOM

PHP:
Código PHP:
Ver original
  1. if(isset($_POST['vlink'])){
  2.     $url = $_POST['vlink'];
  3.  
  4.     include $url;
  5.    
  6. }else if(isset($_GET['vlink'])){
  7.     $url = $_GET['vlink'];
  8.  
  9.     include $url;
  10.    
  11. }else{
  12.    
  13. }
JavaScript:
Código Javascript:
Ver original
  1. ObtenerE = function(url,action){
  2.     if(action.constructor.toString().match(/function/)&&url){
  3.         var Ajax = new XMLHttpRequest
  4.         Ajax.onload = function(){
  5.             var response = document.createElement("div")
  6.             response.innerHTML=this.response
  7.             action(response)
  8.         }
  9.         Ajax.open("get","vf.php?vlink="+url)
  10. // en vf.php pones el nombre del archivo que creaste con el codigo php
  11.         Ajax.send(null)
  12.     }else{
  13.         return null
  14.     }
  15. }
  16. //EJemplo de uso
  17. ObtenerE('http://google.co.ve',function(res){console.log(res.querySelectorAll("#hplogo").innerHTML);console.log(res.querySelectorAll("#hplogo"));})
Aunque es mejor usar el Ajax de Jquery es mas preciso, pero, solo fue una idea, y el php es necesario ya que el navegador bloquea por defecto las solicitudes ajax a otros dominios, pero, puede que existan otras opciones, hay muchas posibilidades, pero, esta es una.

Última edición por larrysun2; 27/10/2015 a las 06:22
  #3 (permalink)  
Antiguo 27/10/2015, 09:53
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Obtener elemento de una pagina (url) diferente DOM

Creo que esto te puede servir.

Por cierto, el método $.ajax() de jQuery, no es «más preciso» que una petición asíncrona realizada nativamente. Hay que recordar que la primera se basa en la segunda, es decir, no se trata de otra forma de realizar una petición asíncrona (sin usar el objeto XMLHttpRequest).

Un saludo
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #4 (permalink)  
Antiguo 27/10/2015, 10:10
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: Obtener elemento de una pagina (url) diferente DOM

Más que usar expresiones regulares para este tipo de tareas, se suele usar la clase DOM de php
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}
  #5 (permalink)  
Antiguo 27/10/2015, 10:51
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Obtener elemento de una pagina (url) diferente DOM

Es otra manera de hacerlo. De cualquier forma, es necesario el uso de PHP para acceder al contenido externo, para lo cual se pueden usar funciones como file_get_contents() o la librería cURL, entre otras, antes de hacer la toma de elementos.
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #6 (permalink)  
Antiguo 27/10/2015, 12:50
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: Obtener elemento de una pagina (url) diferente DOM

claro, dentro de la clase DOM está loadHTMLFile()
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}
  #7 (permalink)  
Antiguo 27/10/2015, 12:57
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Obtener elemento de una pagina (url) diferente DOM

Por ahí encontré el ejemplo de uso de una clase (que creo que se basa en la de DOMDocument) que permite hacer eso de una manera bastante sencilla.
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #8 (permalink)  
Antiguo 27/10/2015, 14:34
 
Fecha de Ingreso: agosto-2015
Ubicación: En Carúpano
Mensajes: 49
Antigüedad: 8 años, 8 meses
Puntos: 12
Respuesta: Obtener elemento de una pagina (url) diferente DOM

Gracias por corregir mis errores Alexis88, yo sabía que iba a aparecer alguien que corrija ese detalle, mis disculpas. Lo que quería decir era que su uso facilita un poco ciertas cosas

Etiquetas: diferente, dom, elemento, javascript, url
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 05:50.