Usa JSL per ottenere dati dal web<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Ciao a tutti,
Dopo aver letto questa discussione ( Usa JSL per raschiare i dati dal Web e prevedere le vittorie di calcio! ) - Sono rimasto molto entusiasta del numero di set di dati disponibili online per migliorare le mie competenze JSL. Tuttavia, non ho avuto molto successo dopo aver provato il codice fornito in questo post. Ho provato a scrivere all'autore e sto ancora aspettando una risposta. Se qualcuno l'ha già fatto - qualcuno può farlo - per favore mostra come ottenere dati dal web.
Diciamo per es Voglio ottenere il prezzo delle azioni per Twitter , il suo minimo di 52 settimane , il massimo di 52 settimane e il prezzo attuale - come posso farlo in JSL .
Tutti gli input sono apprezzati.
Migliore
uday
Re: Usa JSL per ottenere dati dal webbuon anno : Grazie per aver condiviso la sceneggiatura e l'analisi Theresa. Penso che il problema principale che mi ha afflitto in questo contesto sia stato che ho problemi relativi alla rete come Craige e MSharp hanno valutato in precedenza. La mia rete mi ha reindirizzato fuori dal Web ogni volta che provo ad accedervi tramite JSL. Una volta che sarò in grado di accedere ai dati, sarà una grande esperienza iniziare a guardare il tuo lavoro e imparare ciò che è utile e incorporare quei concetti
Re: Usa JSL per ottenere dati dal webCiao Uday.
Ero interessato anche a ottenere dati sul calcio dal web dopo aver partecipato a quel seminario a San Diego.Ho creato lo script allegato e ho ottenuto i dati del quarterback da espn.com.Ho capito che potevo ottenere dati storici semplicemente sostituendo il collegamento con l'anno corrispondente.Dopo aver ottenuto i dati storici e averli concatenati, ho eseguito un'analisi di regressione e ho scoperto che i "cantieri di passaggio" sono il contributo maggiore al grado del quarterback nella lista dei migliori QB di ESPN.
Ho modellato altre analisi dopo questa.Spero che questo ti aiuti.Grazie.
Re: Usa JSL per ottenere dati dal webSono fuori dalla mia profondità.dai messaggi (che includono uno che dice di contattare il tuo team di supporto) penso che sia un problema di firewall/proxy.Vedere:
http://stackoverflow.com/questions/2408964/why-am-i-getting-authentication-redirect-to-virtual-host-error
(che penso potrebbe porre la domanda corretta)
Re: Usa JSL per ottenere dati dal webInformazioni chiave dall'alto:
Reindirizzamento (authentication_redirect_to_virtual_host)
Stai per essere reindirizzato all'host virtuale di autenticazione.
Per assistenza, contatta il tuo team di supporto alla rete.
Facendo una rapida ricerca su Google, tutto sembra puntare a un problema di proxy.Questo è qualcosa che il tuo team di supporto della rete aziendale dovrebbe essere in grado di risolvere facilmente.Li hai contattati?
Potrei provare personalmente a configurare manualmente le informazioni del server proxy in qualsiasi browser Web che potresti avere, dato che sei su Windows inizierei con IE. Modificare le impostazioni del server proxy in Internet Explorer - Guida di Windows
Tuttavia, ciò richiederà comunque di contattare il team di supporto di rete, poiché presumo che tu non conosca le impostazioni proxy della tua azienda.
Re: Usa JSL per ottenere dati dal webCraige@JMP :
text = "HTTP/1.1 302 Found~0D~0ALocazione: http://tmp1mdf01-fpx01/?cfru=aHR0cDovL2ZpbmFuY2UueWFob28uY29tL2VjaGFydHM/cz1UV1RSI3siYWxsb3dDaGFydFN0YWNraW5nIjp0cnVlfQ==~0D~0ACache-Control: no-cache~0D~0APragma: no-cache~0D~0AContent-Type: text/html; charset=utf-8~0D~0AConnection: close~0D~0AContent-Length: 624~0D~0A~0D~0A~0ARedirect~0A~ 0A~0A~0A
~0A~0A
~0A~0A~0A~0AReindirizzamento (authentication_redirect_to_virtual_host)~0A ~0A ~0A~0A |
~0A| ~0A~0AStai per essere reindirizzato all'host virtuale di autenticazione .~0A~0A |
~0A| ~0A~0A~0A~0A |
~0A~0A~0A ~0APer assistenza, contatta il tuo team di supporto di rete.~0A~0A< /TD> |
~0A
~0A
~0A~0A~0A";{"Chiudi", "ok"}
Questo è quello che ho
Re: Usa JSL per ottenere dati dal webl'errore 302 è un reindirizzamento.Non so perché lo vedi; potrebbe essere un comportamento del firewall.
Se vuoi provare a risolverlo, esegui questo script, una riga alla volta, e guarda cosa produce ogni riga nel registro JMP.
site="finanza.yahoo.com";
URL=" http://finance.yahoo.com/echarts?s=TWTR# {\!"allowChartStacking\!":true}";
tCall = Socket();
tCall << connect( sito, "80" );
tCall << Send( Char To Blob( "GET " || url || " HTTP/1.0~0d~0a~0d~0a", "ASCII~HEX" ) );
tMessage = tCall << Recv( 1000 );
text = Blob To Char( tMessage[3], "ASCII~HEX" );
Mostra(testo);
tChiama << Chiudi();
connect dovrebbe dire: {"connetti", "ok"}
send dovrebbe dire: {"Invia", "ok", Char To Blob( "", "ascii~hex" )}
recv dovrebbe dire: {"Recv", "ok", Char To Blob(
"HTTP/1.0 200 va bene ~0D~0AX-Opzioni frame: SAMEORIGIN~0D~0AX-Opzioni tipo di contenuto: nosniff~0D~0AX-XSS-Protezione: 1; mode=block~0D~0AContent-Type: text/html~0D~0ASet-Cookie: B=c3r14p5bh4hr3&b=3&s=p2; scade=Sab, 16-Apr-2018 14:08:35 GMT; percorso=/; domain=.yahoo.com~0D~0AData: Sab, 16 Apr 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-Trace: BAEAQAAAAACXg0qXxLFf4AAAAAAAAAAAw514XKmQNkkAAAAAAAAAAAAFMJqpyGJPAAUwmqnLTak2C_LwAAAAAA--~0D~0A~0D~0A<~21DOCTYPE html>~0A< html>~0A~0A <~21- - personalizzabile: tutto ciò che ti aspettavi.-->~0A Grafico azionario interattivo TWTR | Azioni 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=~22Tipo-contenuto~22 contenuto=~22testo/html; charset=UTF-8~22 />~0A~0A~0A~0A ~0A "asci~esadecimale" )}
Se non ricevi la risposta 200 OK, forse otterrai alcune informazioni sulla risposta 302.
Re: Usa JSL per ottenere dati dal webSì, ho pensato che fossi connesso a Internet da quando hai postato sui forum
Come ho detto, non sono sicuro di quale sia il problema.Proverei solo le normali tecniche di risoluzione dei problemi:
Apertura chiusura JMP.
Riavvio del computer.
Cancellazione della cache.
Reinstallare JMP?C'è un JMP 12.2 a cui puoi aggiornare.
In alternativa puoi contattare support@jmp.com .Potrebbero essere in grado di fornire ulteriore supporto.
Re: Usa JSL per ottenere dati dal web@msharp
Sono connesso a Internet.
Sono in grado di aprire le pagine nel mio browser,
Sto usando JMP 12
Ho Windows.
uday
Re: Usa JSL per ottenere dati dal webNon posso dire quale sia il tuo problema, ma tutti quei comandi hanno funzionato per me.Inizierei con i passaggi di base per la risoluzione dei problemi.Sei connesso a internet? Prova a copiare e incollare il sito Web nel browser, viene visualizzata una pagina? (nota: proverei la seconda pagina, dovevo evitare le virgolette nel primo indirizzo web.)
Quale versione di JMP stai utilizzando? Se è una versione precedente, non supporta la funzionalità?Sei su mac o windows?
Re: Usa JSL per ottenere dati dal web@msharp :
Mi sembra di ottenere lo stesso errore di quando ho provato a utilizzare il comando Apri in precedenza. Questo ha qualcosa a che fare con le impostazioni?

Re: Usa JSL per ottenere dati dal webPuoi accedere al JSL per il componente aggiuntivo andando su Visualizza-> Componenti aggiuntivi... e quindi selezionare il componente aggiuntivo Yahoo Fetcher e fare clic sul collegamento Cartella Home.

Si aprirà la cartella in Explorer (o nel Finder se sei su un Mac). Quindi è possibile esaminare il file .JSL eseguito dal componente aggiuntivo.
- Jeff
Modificato per aggiungere: msharp picchiami.
Re: Usa JSL per ottenere dati dal webPer accedere al codice dietro un componente aggiuntivo, vai su Visualizza >> Componenti aggiuntivi... >> Seleziona il componente aggiuntivo desiderato, quindi seleziona il collegamento accanto a Cartella Home.Questo ti porterà alla cartella in cui tutti gli script e i file del componente aggiuntivo sono archiviati sul tuo disco rigido locale.
Modifica: potrei aver battuto Jeff sul tempo, ma ha un'immagine dolce che aiuta a chiarire.
Re: Usa JSL per ottenere dati dal webQuindi, usando yahoo finance come esempio ti mostro i due metodi generali.Se vai su qualsiasi sito web puoi semplicemente usare il comando open e specificare la tabella HTML.Ciò richiede che i dati vengano archiviati in una tabella HTML.
Di seguito, ti mostro l'API yahoo finance table.csv.L'aggiunta di s=TWTR alla fine creerà un file CSV per tutti i dati di Twitter con cui potrai giocare in JMP.Se vuoi saperne di più sull'API, questa pagina è utile.
API di Yahoo Finanza (nascosta) | Idoneo Verde
//Basta navigare sul web, è stato possibile ottenere queste tabelle
aprire ( " http://finance.yahoo.com/echarts?s=TWTR# {\!"allowChartStacking\!":true}" , Tabella HTML ( 2 )) ;
aprire ( " http://finance.yahoo.com/q;_ylt=AwrXgiOYWBFXxGUAYiiTmYlQ;_ylu=X3oDMTE0bWJta2VyBGNvbG8DZ3ExBHBvcwMxBHZ0aWQDVklEUUJDS18xBHNlYwNzYw--?s=TWTR " , Tabella HTML ( 2 )) ;
aprire ( " http://finance.yahoo.com/q;_ylt=AwrXgiOYWBFXxGUAYiiTmYlQ;_ylu=X3oDMTE0bWJta2VyBGNvbG8DZ3ExBHBvcwMxBHZ0aWQDVklEUUJDS18xBHNlYwNzYw--?s=TWTR " , Tabella HTML ( 3 )) ;
//Questa è l'interfaccia dell'API di yahoo finance
aprire ( " http://ichart.finance.yahoo.com/table.csv?s=TWTR " ) ;
Re: Usa JSL per ottenere dati dal webCiao Jeff,
Grazie . Ho già scaricato l'addin. il mio obiettivo è essere in grado di imparare e capire come farlo in JSL e non so come attingere al codice dietro l'addin . Inoltre, l'addin sembra semplicemente aprire le informazioni sullo stock in un browser contro l'importazione dei dati in JMP (che è quello che vorrei fare). Desidero importare i dati da questi archivi pubblici per migliorare le mie capacità analitiche e di codifica in JSL.
Migliore
Uday
Re: Usa JSL per ottenere dati dal webIL Yahoo Finance Fetcher JMP Add-in sarebbe un buon punto di partenza.
- Jeff
Re: Usa JSL per ottenere dati dal webmsharp ,
Ho un paio di opzioni che ho esaminato:
1. Grafico a barre .com
2. Finanza Yahoo
3. Google Finanza
Ma non so se dobbiamo eseguire il ping delle API di questi siti Web o se sono accessibili come tabelle HTML.
Migliore
uday
Re: Usa JSL per ottenere dati dal webEsistono molti metodi per ottenere dati dal Web.Il metodo migliore dipende dall'origine dati.Nell'esempio che hai pubblicato, l'utente sta semplicemente usando un comando Open() e gli dice quale tabella di dati nell'HTML estrarre.Questo è di gran lunga il più semplice, ma non sempre possibile.Alcuni siti, come Twitter, hanno impostato delle API.Questo metodo è leggermente più complicato ma estremamente più potente.
Hai fatto le tue ricerche?Sai dove vuoi ottenere le informazioni sul prezzo delle azioni?Qual è l'origine dati?