Foros del Web » Programando para Internet » PHP »

Ejecutar JS a través de petición cURL u otro

Estas en el tema de Ejecutar JS a través de petición cURL u otro en el foro de PHP en Foros del Web. Buenos días: Estoy programando un script PHP muy sencillo, hace una petición cURL y obtiene una web cualquiera. Lo que ocurre es que en algunas ...
  #1 (permalink)  
Antiguo 07/05/2015, 00:39
 
Fecha de Ingreso: abril-2009
Ubicación: En foros del web, normalmente en Web general, HTML y CSS.
Mensajes: 258
Antigüedad: 15 años
Puntos: 3
Ejecutar JS a través de petición cURL u otro

Buenos días:

Estoy programando un script PHP muy sencillo, hace una petición cURL y obtiene una web cualquiera.

Lo que ocurre es que en algunas webs para obtener un dato concreto ejecutan una función JavaScript, me explico, nos imaginamos que tenemos la siguiente página:

Código HTML:
Ver original
  1. ...
  2.       <a href="javascript:getData('id-320');">Obtener Dato</a>
  3. ...

Cuando entras a la web como usuario, al presionar en el enlace se ejecuta la función "getData()" y es cuando se recibe el dato.

¿Cómo podría ejecutarla con cURL para obtener los datos?, sino se puede, ¿qué otra opción habría de hacerlo?.

Gracias. Un cordial saludo.
__________________
¿Por qué Anónimo?, porque como está el mundo no podemos considerarnos humanos...
  #2 (permalink)  
Antiguo 07/05/2015, 06:56
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Ejecutar JS a través de petición cURL u otro

No se puede con PHP porque PHP no puede ejecutar Javascript.

En todo caso podrías usar algo que sí ejecute Javascript, como NodeJS, PhantomJS, CasperJS, Selenium, etc.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 07/05/2015, 08:46
 
Fecha de Ingreso: abril-2009
Ubicación: En foros del web, normalmente en Web general, HTML y CSS.
Mensajes: 258
Antigüedad: 15 años
Puntos: 3
Respuesta: Ejecutar JS a través de petición cURL u otro

Muchas gracias.

Voy a tirar por NodeJS porque tengo una idea general de cómo llevarlo. Pero si no es molestia, quizá puedas sugerirme algún ejemplo o guía de lo que quiero hacer:

1. El script abre una web: www.miweb.com
2. Ejecuta una función JS de esa web y muestra el resultado por pantalla: miFuncion('parámetro')

Un cordial saludo.
__________________
¿Por qué Anónimo?, porque como está el mundo no podemos considerarnos humanos...
  #4 (permalink)  
Antiguo 07/05/2015, 10:56
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Ejecutar JS a través de petición cURL u otro

No no, por ahí no va la cosa.

NodeJS no puede ejecutar la función sólo porque sea Javascript, lo que debes hacer es usar un navegador headless y hacer clic al enlace, eso debe invocar la función naturalmente y de ahí debes tomar el contenido.

El tema es que NodeJS es sólo la infraestructura pero debes usar un PhantomJS o CasperJS para simular dicho comportamiento como se se tratara de un usuario.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

Etiquetas: curl, js
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:56.