Use JSL para obtener datos de la web<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Hola a todos,
Después de ver esta discusión ( ¡Use JSL para extraer datos de la web y predecir victorias en el fútbol! ) - Me entusiasmó mucho la cantidad de conjuntos de datos disponibles en línea para mejorar mis habilidades de JSL. Sin embargo, no he tenido mucho éxito después de probar el código proporcionado en esta publicación. Traté de escribirle al autor y todavía estoy esperando una respuesta. Si alguien ha hecho esto antes, alguien puede, muestre cómo obtener datos de la web.
Digamos por ej. Quiero obtener el precio de las acciones de Twitter, su mínimo de 52 semanas, su máximo de 52 semanas y el precio actual. ¿Cómo puedo hacerlo en JSL?
Cualquier entrada es apreciada.
Mejor
hoy
Re: Usar JSL para obtener datos de la webteresabuenaño : Gracias por compartir el guión y el análisis Theresa. Creo que el problema principal que me ha atormentado en este contexto ha sido que tengo problemas relacionados con la red como lo evaluaron previamente Craige y MSharp. Mi red me ha estado redirigiendo fuera de la web cada vez que intento acceder a ella a través de JSL. Una vez que pueda acceder a los datos, será una gran experiencia comenzar a observar su trabajo y aprender lo que sea útil e incorporar esos conceptos.
Re: Usar JSL para obtener datos de la webHola Uday.
Yo también estaba interesado en obtener datos de fútbol de la web después de asistir a ese seminario en San Diego.Creé el guión adjunto y obtuve los datos del mariscal de campo de espn.com.Descubrí que podía obtener datos históricos simplemente reemplazando el enlace con el año correspondiente.Una vez que obtuve los datos históricos y los concatené, realicé un análisis de regresión y descubrí que las 'yardas por pase' son el factor que más contribuye a la clasificación del mariscal de campo en la lista de mejores mariscales de campo de ESPN.
He modelado otro análisis después de este.Espero que esto ayude.Gracias.
Re: Usar JSL para obtener datos de la webEstoy fuera de mi profundidad.de los mensajes (que incluyen uno que dice que se comunique con su equipo de soporte) creo que es un problema de firewall/proxy.Ver:
http://stackoverflow.com/questions/2408964/why-am-i-getting-authentication-redirect-to-virtual-host-error
(que creo que podría estar haciendo la pregunta correcta)
Re: Usar JSL para obtener datos de la webInformación clave de arriba:
Redirigir (authentication_redirect_to_virtual_host)
Está siendo redirigido al host virtual de autenticación.
Para obtener ayuda, póngase en contacto con su equipo de soporte de red.
Haciendo una búsqueda rápida a través de Google, todo parece apuntar a un problema de proxy.Esto es algo que el equipo de soporte de red de su empresa debería poder resolver fácilmente.¿Has contactado con ellos?
Personalmente, podría intentar configurar manualmente la información del servidor proxy en cualquier navegador web que pueda tener, ya que está en Windows, comenzaría con IE. Cambiar la configuración del servidor proxy en Internet Explorer - Ayuda de Windows
Sin embargo, esto requerirá que se comunique con el equipo de soporte de la red de todos modos, ya que asumo que no conoce la configuración de proxy de su empresa.
Re: Usar JSL para obtener datos de la webCraige@JMP:
text = "HTTP/1.1 302 Encontrado ~ 0D ~ 0A Ubicación: http://tmp1mdf01-fpx01/?cfru=aHR0cDovL2ZpbmFuY2UueWFob28uY29tL2VjaGFydHM/cz1UV1RSI3siYWxsb3dDaGFydFN0YWNraW5nIjp0cnVlfQ==~0D~0ACache-Control: no-cache~0D~0APragma: no-cache~0D~0AContent-Type: text/html; charset=utf-8~0D~0AConexión: cerrar~0D~0AContenido-Longitud: 624~0D~0A~0D~0A~0ARedirect~0A~ 0A~0A~0A
~0A~0A
~0A~0A~0A~0ARedirect (authentication_redirect_to_virtual_host)~0A ~0A ~0A~0A |
~0A| ~0A~0AEstá siendo redirigido al host virtual de autenticación .~0A~0A |
~0A| ~0A~0A~0A~0A |
~0A~0A~0A ~0APara obtener ayuda, comuníquese con su equipo de soporte de red.~0A~0A< /TD> |
~0A
~0A
~0A~0A~0A";{"Cerrar", "bien"}
Esto es lo que conseguí
Re: Usar JSL para obtener datos de la webel error 302 es una redirección.No sé por qué estás viendo eso; podría ser un comportamiento de firewall.
Si desea intentar descifrarlo, ejecute este script, una línea a la vez, y vea qué produce cada línea en el registro de JMP.
sitio="finanzas.yahoo.com";
url=" http://finance.yahoo.com/echarts?s=TWTR# {\"permitir apilamiento de gráficos\!":true}";
tCall = Enchufe();
tCall << conectar (sitio, "80");
tCall << Enviar( Char To Blob( "GET " || url || " HTTP/1.0~0d~0a~0d~0a", "ASCII~HEX" ) );
tMensaje = tCall << Recv( 1000 );
texto = Blob To Char( tMessage[3], "ASCII~HEX" );
Mostrar (texto);
tLlamar << Cerrar();
conectar debe decir: {"conectar", "ok"}
enviar debe decir: {"Enviar", "ok", Char To Blob( "", "ascii~hex" )}
recv debe decir: {"Recv", "ok", Char To Blob(
"HTTP/1.0 200 bien ~0D~0AX-Frame-Options: SAMEORIGIN~0D~0AX-Content-Type-Options: nosniff~0D~0AX-XSS-Protection: 1; mode=block~0D~0AContent-Type: text/html~0D~0ASet-Cookie: B=c3r14p5bh4hr3&b=3&s=p2; expira = sábado, 16 de abril de 2018 14:08:35 GMT; camino=/; domain=.yahoo.com~0D~0ADate: sábado, 16 de abril de 2016 14:08:35 GMT~0D~0AServer: ATS~0D~0AVary: X-Ssl~0D~0AVia: http/1.1 media-border115.global. media.bf1.yahoo.com (ApacheTrafficServer [cMsSf]), http/1.1 media-router4.prod.media.bf1.yahoo.com (ApacheTrafficServer [cMsSf]), http/1.1 r25.ycpi.dcb.yahoo.net ( ApacheTrafficServer [cMsSf ])~0D~0AAge: 0~0D~0AY-Rastreo: BAEAQAAAAACXg0qXxLFf4AAAAAAAAAAAw514XKmQNkkAAAAAAAAAAAAFMJqpyGJPAAUwmqnLTak2C_LwAAAAAA--~0D~0A~0D~0A<~21DOCTYPE html>~0A< html>~0A~0A <~21- - personalizable: todo lo que esperabas.-->~0A Gráfico de acciones interactivo de TWTR | Acciones de Yahoo~21 Inc. - Finanzas de Yahoo~21~0A~0A <meta http-equiv="~22X-UA-Compatible~22" content="~22IE=edge,chrome=1~22" />~0A < meta http-equiv=~22Content-Type~22 content=~22text/html; charset=UTF-8~22 />~0A~0A~0A~0A ~0A "ascii~hex" )}
Si no obtiene la respuesta 200 OK, tal vez obtenga información sobre la respuesta 302.
Re: Usar JSL para obtener datos de la webSí, supuse que estabas conectado a Internet desde que publicaste en los foros.
Como dije, no estoy seguro de cuál es el problema.Simplemente probaría las técnicas normales de solución de problemas:
Apertura cierre JMP.
Reiniciando tu computadora.
Borrando caché.
¿Reinstalando JMP?Hay un JMP 12.2 al que podrías actualizar.
Alternativamente puede contactar support@jmp.com .Es posible que puedan proporcionar apoyo adicional.
Re: Usar JSL para obtener datos de la web@msharp
Estoy conectado a internet.
Puedo abrir las páginas en mi navegador,
Estoy usando JMP 12
tengo ventanas
hoy
Re: Usar JSL para obtener datos de la webNo puedo decir cuál es tu problema, pero todos esos comandos me funcionaron.Comenzaría con los pasos básicos de solución de problemas.¿Estás conectado a internet? Intente copiar y pegar el sitio web en el navegador, ¿aparece una página? (nota: probaría con la segunda página, tuve que evitar las comillas en la primera dirección web).
¿Qué versión de JMP estás ejecutando? Si es una versión anterior, ¿no es compatible con la funcionalidad?¿Estás en un Mac o Windows?
Re: Usar JSL para obtener datos de la web@msharp :
Parece que obtengo el mismo error que tuve cuando intenté usar el comando Abrir anteriormente. ¿Tiene esto algo que ver con la configuración?

Re: Usar JSL para obtener datos de la webPuede acceder al JSL para el complemento yendo a Ver->Complementos... y luego seleccione el complemento Yahoo Fetcher y haga clic en el enlace Carpeta de inicio.

Abrirá la carpeta en el Explorador (o el Finder si está en una Mac). Luego puede examinar el archivo .JSL que ejecuta el complemento.
-Jeff
Editado para agregar: msharp vencerme.
Re: Usar JSL para obtener datos de la webPara acceder al código detrás de un complemento, vaya a Ver>>Complementos...>> Seleccione el complemento de su elección, luego seleccione el enlace junto a Carpeta de inicio.Esto lo llevará a la carpeta donde se almacenan todos los scripts y archivos de complementos en su disco duro local.
Editar: es posible que me haya adelantado a Jeff, pero tiene una imagen dulce que ayuda a aclarar.
Re: Usar JSL para obtener datos de la webEntonces, usando Yahoo Finance como ejemplo, le muestro los dos métodos generales.Si va a cualquier sitio web, puede usar el comando abrir y especificar la tabla HTML.Esto requiere que los datos se almacenen en una tabla HTML.
Debajo de eso, te muestro la API de Yahoo Finance table.csv.Agregar s=TWTR al final creará un archivo CSV para todos los datos de Twitter con los que podría jugar en JMP.Si desea saber más sobre la API, esta página es útil.
Yahoo Finanzas (oculto) API | Ido verde
// Solo navegando por la web, pude obtener estas tablas
abierto ( " http://finance.yahoo.com/echarts?s=TWTR# {\"permitir apilamiento de gráficos\!":true}" , Tabla HTML ( 2 )) ;
abierto ( " http://finance.yahoo.com/q;_ylt=AwrXgiOYWBFXxGUAYiiTmYlQ;_ylu=X3oDMTE0bWJta2VyBGNvbG8DZ3ExBHBvcwMxBHZ0aWQDVklEUUJDS18xBHNlYwNzYw--?s=TWTR " , Tabla HTML ( 2 )) ;
abierto ( " http://finance.yahoo.com/q;_ylt=AwrXgiOYWBFXxGUAYiiTmYlQ;_ylu=X3oDMTE0bWJta2VyBGNvbG8DZ3ExBHBvcwMxBHZ0aWQDVklEUUJDS18xBHNlYwNzYw--?s=TWTR " , Tabla HTML ( 3 )) ;
//Esta es la interfaz api de finanzas de yahoo
abierto ( " http://ichart.finance.yahoo.com/table.csv?s=TWTR " ) ;
Re: Usar JSL para obtener datos de la webHola Jeff,
Gracias . Ya he descargado el complemento. mi objetivo es poder aprender y comprender cómo hacerlo en JSL y no sé cómo acceder al código detrás del complemento. Además, el complemento parece abrir la información de stock en un navegador para importar los datos a JMP (que es lo que me gustaría hacer). Deseo importar los datos de estos repositorios públicos para mejorar mis habilidades analíticas y de codificación en JSL.
Mejor
día
Re: Usar JSL para obtener datos de la webEl Buscador de finanzas de Yahoo El complemento JMP sería un buen lugar para comenzar.
-Jeff
Re: Usar JSL para obtener datos de la webmsharp ,
Tengo un par de opciones que he mirado:
1. Gráfico de barras .com
2. Finanzas de Yahoo
3. Finanzas de Google
Pero no sé si necesitamos hacer ping a las API de estos sitios web o si son accesibles como tablas HTML.
Mejor
hoy
Re: Usar JSL para obtener datos de la webHay muchos métodos para obtener datos de la web.El mejor método depende de la fuente de datos.En el ejemplo que publicaste, el usuario simplemente usa un comando Open() y le dice qué tabla de datos en el HTML extraer.Este es, con mucho, el más fácil, pero no siempre es posible.Algunos sitios, como Twitter, han configurado API.Este método es un poco más complicado pero extremadamente más poderoso.
¿Has hecho tu investigación?¿Sabe dónde desea obtener la información sobre el precio de las acciones?¿Cuál es la fuente de datos?