Utiliser JSL pour obtenir des données à partir du Web<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Bonjour à tous,
Après avoir regardé cette discussion ( Utilisez JSL pour extraire des données du Web et prédire les victoires du football ! ) - J'ai été très enthousiasmé par le nombre d'ensembles de données disponibles en ligne pour améliorer mes compétences JSL. Cependant - je n'ai pas eu beaucoup de succès après avoir essayé le code fourni dans ce post. J'ai essayé d'écrire à l'auteur et j'attends toujours une réponse. Si quelqu'un a déjà fait cela - est-ce que quelqu'un peut - s'il vous plaît montrer comment obtenir des données à partir du Web.
Disons par exemple Je souhaite obtenir le cours de l'action Twitter , son plus bas sur 52 semaines , son plus haut sur 52 semaines et son cours actuel - comment puis-je le faire dans JSL .
Toutes les entrées sont appréciées.
Meilleur
aujourd'hui
Re : Utiliser JSL pour récupérer des données sur le WebTheresagoodyear : Merci pour le partage du script et de l'analyse Theresa. Je pense que le principal problème qui m'a tourmenté dans ce contexte est que j'ai des problèmes liés au réseau, comme Craige et MSharp l'ont déjà évalué. Mon réseau me redirige hors du Web chaque fois que j'essaie d'y accéder via JSL. Une fois que je pourrai accéder aux données - ce sera une expérience formidable de commencer à examiner votre travail et d'apprendre ce qui est utile et d'intégrer ces concepts.
Re : Utiliser JSL pour récupérer des données sur le WebSalut Ouday.
J'étais également intéressé à obtenir des données sur le football à partir du Web après avoir assisté à ce séminaire à San Diego.J'ai créé le script ci-joint et j'ai obtenu les données du quart-arrière d'espn.com.J'ai compris que je pouvais obtenir des données historiques en remplaçant simplement le lien par l'année correspondante.Une fois que j'ai obtenu les données historiques et que je les ai concaténées, j'ai effectué une analyse de régression et j'ai constaté que les «verges de passage» sont le plus grand contributeur au classement du quart-arrière sur la liste des meilleurs QB d'ESPN.
J'ai modélisé d'autres analyses après celle-ci.J'espère que cela t'aides.Merci.
Re : Utiliser JSL pour récupérer des données sur le WebJe suis dépassé.d'après les messages (dont un disant contactez votre équipe d'assistance), je pense qu'il s'agit d'un problème de pare-feu/proxy.Voir:
http://stackoverflow.com/questions/2408964/why-am-i-getting-authentication-redirect-to-virtual-host-error
(ce qui, je pense, pose peut-être la bonne question)
Re : Utiliser JSL pour récupérer des données sur le WebInformations clés ci-dessus :
Redirection (authentication_redirect_to_virtual_host)
Vous êtes redirigé vers l'hôte virtuel d'authentification.
Pour de l'aide, contactez votre équipe de support de réseau.
En faisant une recherche rapide sur Google, tout semble indiquer un problème de proxy.C'est quelque chose que votre équipe d'assistance réseau d'entreprise devrait pouvoir résoudre facilement.Les avez-vous contactés ?
Je pourrais personnellement essayer de configurer manuellement les informations du serveur proxy dans tous les navigateurs Web que vous pourriez avoir, puisque vous êtes sous Windows, je commencerais par IE. Modifier les paramètres du serveur proxy dans Internet Explorer - Aide de Windows
Cependant, cela vous obligera à contacter l'équipe d'assistance réseau de toute façon, car je suppose que vous ne connaissez pas les paramètres de proxy de votre entreprise.
Re : Utiliser JSL pour récupérer des données sur le WebCraige@JMP :
text = "HTTP/1.1 302 trouvé~0D~0ALocalisation : http://tmp1mdf01-fpx01/?cfru=aHR0cDovL2ZpbmFuY2UueWFob28uY29tL2VjaGFydHM/cz1UV1RSI3siYWxsb3dDaGFydFN0YWNraW5nIjp0cnVlfQ==~0D~0ACache-Control : no-cache~0D~0APragma : no-cache~0D~0AContent-Type : text/html ; jeu de caractères=utf-8~0D~0AConnexion : fermer~0D~0ALongueur du contenu : 624~0D~0A~0D~0A~0ARedirection~0A~ 0A~0A~0A
~0A~0A
~0A~0A~0A~0ARedirection (authentication_redirect_to_virtual_host)~0A ~0A ~0A~0A |
~0A| ~0A~0AVous êtes redirigé vers l'hôte virtuel d'authentification .~0A~0A |
~0A| ~0A~0A~0A~0A |
~0A~0A~0A ~0APour obtenir de l'aide, contactez votre équipe d'assistance réseau.~0A~0A< /TD> |
~0A
~0A
~0A~0A~0A » ;{"Fermer", "d'accord"}
C'est ce que j'ai
Re : Utiliser JSL pour récupérer des données sur le Webl'erreur 302 est une redirection.Je ne sais pas pourquoi vous voyez cela; il peut s'agir d'un comportement de pare-feu.
Si vous voulez essayer de résoudre le problème, exécutez ce script, une ligne à la fois, et voyez ce que chaque ligne produit dans le journal JMP.
site="finance.yahoo.com" ;
url=" http://finance.yahoo.com/echarts?s=TWTR# {\!"allowChartStacking\!":true}" ;
tAppel = Socket();
tCall << connect( site, "80" );
tCall << Send( Char To Blob( "GET " || url || " HTTP/1.0~0d~0a~0d~0a", "ASCII~HEX" ) );
tMessage = tAppel << Recv( 1000 );
text = Blob To Char( tMessage[3], "ASCII~HEX" );
Afficher( texte );
tAppeler << Fermer();
connecter devrait indiquer : {"connecter", "d'accord"}
envoyer doit dire : {"Envoyer", "ok", Car vers Blob( "", "ascii~hex" )}
recv devrait indiquer : {"Recv", "ok", Car vers Blob(
"HTTP/1.0 200 D'accord ~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 ; expire=Sam, 16-Apr-2018 14:08:35 GMT ; chemin=/; domaine=.yahoo.com~0D~0ADate : sam. 16 avril 2016 14:08:35 GMT~0D~0AServeur : 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-Trace : BAEAQAAAAACXg0qXxLFf4AAAAAAAAAAw514XKmQNkkAAAAAAAAAAAAFMJqpyGJPAAUwmqnLTak2C_LwAAAAAA--~0D~0A~0D~0A<~21DOCTYPE html>~0A ~0A~0A <~21- - personnalisable : tout ce que vous attendiez.-->~0A Graphique boursier interactif TWTR | Action Yahoo~21 Inc. - Yahoo~21 Finance~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 vous n'obtenez pas la réponse 200 OK, vous obtiendrez peut-être des informations sur la réponse 302.
Re : Utiliser JSL pour récupérer des données sur le WebOuais, je pensais que tu étais connecté à internet depuis ta publication sur les forums
Comme je l'ai dit, je ne sais pas quel est le problème.J'essaierais simplement les techniques de dépannage normales :
Ouverture fermeture JMP.
Redémarrage de votre ordinateur.
Effacement du cache.
Réinstaller JMP ?Il existe un JMP 12.2 que vous pouvez mettre à jour.
Sinon, vous pouvez contacter support@jmp.com .Ils pourraient être en mesure de fournir un soutien supplémentaire.
Re : Utiliser JSL pour récupérer des données sur le Web@msharp
Je suis connecté à Internet.
Je peux ouvrir les pages dans mon navigateur ,
J'utilise JMP 12
J'ai Windows.
aujourd'hui
Re : Utiliser JSL pour récupérer des données sur le WebJe ne peux pas dire quel est votre problème, mais toutes ces commandes ont fonctionné pour moi.Je commencerais par les étapes de dépannage de base.Êtes-vous connecté à Internet ? Essayez de copier et coller le site Web dans le navigateur, cela fait-il apparaître une page ? (Remarque : j'essaierais la deuxième page, j'ai dû échapper les guillemets dans la première adresse Web.)
Quelle version de JMP utilisez-vous ? S'il s'agit d'une version plus ancienne, ne prend-elle pas en charge la fonctionnalité ?Tu es sur mac ou windows ?
Re : Utiliser JSL pour récupérer des données sur le Web@msharp :
Il semble que j'obtienne la même erreur que lorsque j'ai essayé d'utiliser la commande Ouvrir plus tôt. Cela a-t-il quelque chose à voir avec les paramètres ?

Re : Utiliser JSL pour récupérer des données sur le WebVous pouvez accéder au JSL du complément en allant dans Affichage-> Compléments..., puis sélectionnez le complément Yahoo Fetcher et cliquez sur le lien Dossier d'accueil.

Il ouvrira le dossier dans l'Explorateur (ou le Finder si vous êtes sur un Mac). Vous pouvez ensuite examiner le fichier .JSL exécuté par le complément.
-Jeff
Modifié pour ajouter : msharp m'a devancé.
Re : Utiliser JSL pour récupérer des données sur le WebPour accéder au code derrière un complément, accédez à Affichage>>Compléments...>> Sélectionnez le complément de votre choix, puis sélectionnez le lien à côté de Dossier d'accueil.Cela vous mènera au dossier où tous les scripts et fichiers de complément sont stockés sur votre disque dur local.
Edit : J'ai peut-être battu Jeff au poing, mais il a une belle image qui aide à clarifier.
Re : Utiliser JSL pour récupérer des données sur le WebDonc, en utilisant Yahoo Finance comme exemple, je vous montre les deux méthodes générales.Si vous allez sur n'importe quel site Web, vous pouvez simplement utiliser la commande open et spécifier le tableau HTML.Cela nécessite que les données soient stockées dans un tableau HTML.
Ci-dessous, je vous montre l'API yahoo finance table.csv.L'ajout de s=TWTR à la fin créera un fichier CSV pour toutes les données Twitter avec lesquelles vous pourrez ensuite jouer dans JMP.Si vous voulez en savoir plus sur l'API, cette page est utile.
API Yahoo Finance (masquée) | Ido Vert
// Juste en naviguant sur le Web, j'ai pu obtenir ces tables
ouvrir ( " http://finance.yahoo.com/echarts?s=TWTR# {\!"allowChartStacking\!":true}" , Tableau HTML ( 2 )) ;
ouvrir ( " http://finance.yahoo.com/q;_ylt=AwrXgiOYWBFXxGUAYiiTmYlQ;_ylu=X3oDMTE0bWJta2VyBGNvbG8DZ3ExBHBvcwMxBHZ0aWQDVklEUUJDS18xBHNlYwNzYw--?s=TWTR " , Tableau HTML ( 2 )) ;
ouvrir ( " http://finance.yahoo.com/q;_ylt=AwrXgiOYWBFXxGUAYiiTmYlQ;_ylu=X3oDMTE0bWJta2VyBGNvbG8DZ3ExBHBvcwMxBHZ0aWQDVklEUUJDS18xBHNlYwNzYw--?s=TWTR " , Tableau HTML ( 3 )) ;
// Ceci est l'interface de l'api Yahoo Finance
ouvrir ( " http://ichart.finance.yahoo.com/table.csv?s=TWTR " ) ;
Re : Utiliser JSL pour récupérer des données sur le WebBonjour Jef,
Merci . J'ai déjà téléchargé le complément. mon objectif est d'être capable d'apprendre et de comprendre comment le faire en JSL et je ne sais pas comment puiser dans le code derrière l'addin. De plus, le complément semble simplement ouvrir les informations boursières dans un navigateur contre l'importation des données dans JMP (ce que je voudrais faire). Je souhaite importer les données de ces référentiels publics pour approfondir mes compétences analytiques et mes compétences de codage en JSL.
Meilleur
Uday
Re : Utiliser JSL pour récupérer des données sur le WebLe Récupérateur Yahoo Finance Le complément JMP serait un bon point de départ.
-Jeff
Re : Utiliser JSL pour récupérer des données sur le Webmsharp ,
J'ai quelques options que j'ai examinées:
1. Graphique à barres .com
2. Yahoo Finance
3. Google Finances
Mais je ne sais pas si nous devons envoyer un ping aux API de ces sites Web ou s'ils sont accessibles sous forme de tableaux HTML.
Meilleur
aujourd'hui
Re : Utiliser JSL pour récupérer des données sur le WebIl existe de nombreuses méthodes pour obtenir des données sur le Web.La meilleure méthode dépend de la source de données.Dans l'exemple que vous avez publié, l'utilisateur utilise simplement une commande Open() et lui indique quelle table de données dans le HTML extraire.C'est de loin le plus simple, mais pas toujours possible.Certains sites, comme Twitter ont mis en place des API.Cette méthode est légèrement plus compliquée mais extrêmement plus puissante.
Avez-vous fait vos recherches?Savez-vous où vous souhaitez obtenir les informations sur le cours de l'action ?Quelle est la source de données ?