使用JSL從網絡獲取數據<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />大家好,
看完這個討論後(使用 JSL 從網絡上抓取數據並預測足球胜利! ) - 我對可用於增強我的 JSL 技能的在線數據集感到非常興奮。 然而,在嘗試了這篇文章中提供的代碼後,我並沒有取得太大的成功。 我試圖寫信給作者,但仍在等待回复。 如果有人以前這樣做過(有人可以嗎),請展示如何從網絡獲取數據。
可以說例如 我想獲取 Twitter 的股價、52 週最低價、52 週最高價和當前價格 - 我如何在 JSL 中做到這一點。
任何意見都將受到讚賞。
最好的
烏代
回复:使用JSL從網絡獲取數據特蕾莎·古德伊爾:感謝特蕾莎分享腳本和分析。 我認為在這種情況下困擾我的主要問題是我遇到了與網絡相關的問題,正如 Craige 和 MSharp 之前評估的那樣。 每當我嘗試通過 JSL 訪問網絡時,我的網絡就會將我重定向出網絡。 一旦我能夠了解數據 - 開始查看您的工作並學習有用的內容並融入這些概念將是一次很棒的經歷
回复:使用JSL從網絡獲取數據嗨烏代。
在參加了聖地亞哥的研討會後,我也對從網絡上獲取足球數據感興趣。我創建了附加腳本並從 espn.com 獲取了四分衛數據。我發現只需將鏈接替換為相應年份即可獲取歷史數據。獲得歷史數據並將其連接起來後,我進行了回歸分析,發現“傳球碼數”是四分衛在 ESPN 頂級四分衛排行榜上排名的最大貢獻者。
我在此之後模擬了其他分析。希望這可以幫助。謝謝。
回复:使用JSL從網絡獲取數據我已經超出了我的深度。從消息(其中包括一條說聯繫您的支持團隊)來看,我認為這是防火牆/代理問題。看:
http://stackoverflow.com/questions/2408964/why-am-i-getting-authentication-redirect-to-virtual-host-error
(我認為這可能是在問正確的問題)
回复:使用JSL從網絡獲取數據上面的關鍵信息:
重定向(authentication_redirect_to_virtual_host)
您將被重定向到身份驗證虛擬主機。
如需幫助,請聯繫您的網絡支持團隊。
通過谷歌進行快速搜索,一切似乎都指向代理問題。這是您公司網絡支持團隊應該能夠輕鬆解決的問題。你聯繫過他們嗎?
我個人可能會嘗試在您可能擁有的任何 Web 瀏覽器中手動設置代理服務器信息,因為您使用的是 Windows,所以我會從 IE 開始。更改 Internet Explorer 中的代理服務器設置 - Windows 幫助
但是,無論如何,這都需要您聯繫網絡支持團隊,因為我假設您不知道公司的代理設置。
回复:使用JSL從網絡獲取數據克雷格@JMP:
text = "HTTP/1.1 302 找到~0D~0A位置: http://tmp1mdf01-fpx01/?cfru=aHR0cDovL2ZpbmFuY2UueWFob28uY29tL2VjaGFydHM/cz1UV1RSI3siYWxsb3dDaGFydFN0YWNraW5nIjp0cnVlfQ==~0D~0ACache-Control:無緩存~0D~0A語法:無緩存~0D~0A內容類型:text/html; charset=utf-8~0D~0A連接:關閉~0D~0A內容長度:624~0D~0A~0D~0A~0A重定向~0A~ 0A~0A~0A
~0A~0A
~0A<表格邊框=0 cellPadding=1 width=~2280%~22>~0A~0A~0A重定向(authentication_redirect_to_virtual_host)~0A< BR> ~0A
~0A~0A~0A~0A~0A您將被重定向到身份驗證虛擬主機.~0A~0A~0A~0A~0A~0A~0A< /TD> ~0A~0A~0A
~0A如需幫助,請聯繫您的網絡支持團隊。~0A< /FONT>~0A< /TD>~0A~0A
~0A~0A~0A";{“關閉”,“確定”}
這就是我得到的
回复:使用JSL從網絡獲取數據302錯誤是重定向。我不知道你為什麼會看到這個;這可能是防火牆行為。
如果您想嘗試解決這個問題,請運行此腳本,一次一行,並查看 JMP 日誌中每行產生的內容。
網站=“finance.yahoo.com”;
網址=“ http://finance.yahoo.com/echarts?s=TWTR# {\!"allowChartStacking\!":true}";
tCall = Socket();
tCall << 連接( 站點, "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" );
顯示(文本);
tCall << 關閉();
連接應該說: {“連接”,“確定”}
發送應該說: {"發送", "ok", Char To Blob( "", "ascii~hex" )}
接收應該說: {“接收”,“確定”,字符到 Blob(
“HTTP/1.0 200 好~0D~0AX-幀選項:SAMEORIGIN~0D~0AX-內容類型選項:nosniff~0D~0AX-XSS-保護:1; mode=block~0D~0AContent-Type: text/html~0D~0ASet-Cookie: B=c3r14p5bh4hr3&b=3&s=p2;過期=2018 年 4 月 16 日星期六 14:08:35 GMT;路徑=/;域名=.yahoo.com~0D~0AD日期:2016年4月16日星期六14:08:35 GMT~0D~0A服務器: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-跟踪: BAEAQAAAAACXg0qXxLFf4AAAAAAAAAAAw514XKmQNkkAAAAAAAAAAAAFMJqpyGJPAAUwmqnLTak2C_LwAAAAAA--~0D~0A~0D~0A<~21DOCTYPE html>~0A~0A<頭>~0A <~21- - 可定制:任何您期望的東西。-->~0A TWTR 互動股票圖表 |雅虎~21 Inc.股票 - 雅虎~21財經~0A~0A <meta http-equiv="~22X-UA-Compatible~22" content="~22IE=edge,chrome=1~22" />~0A <元http-equiv=~22Content-Type~22 content=~22text/html; charset=UTF-8~22 />~0A~0A~0A~0A ~0A “ascii~十六進制” )}
如果您沒有收到 200 OK 響應,也許您會獲得有關 302 響應的一些信息。
回复:使用JSL從網絡獲取數據是的,自從您在論壇上發帖以來,我認為您已連接到互聯網
就像我說的,我不確定問題是什麼。我只是嘗試正常的故障排除技術:
開盤、收盤 JMP。
重新啟動計算機。
清除緩存。
重新安裝 JMP?您可以更新到 JMP 12.2。
或者您可以聯繫support@jmp.com 。他們也許能夠提供額外的支持。
回复:使用JSL從網絡獲取數據@msharp
我已連接到互聯網。
我可以在瀏覽器中打開頁面,
我正在使用 JMP 12
我有Windows。
烏代
回复:使用JSL從網絡獲取數據我不能說你的問題是什麼,但所有這些命令都對我有用。我將從基本的故障排除步驟開始。您已連接到互聯網嗎? 嘗試將網站複製並粘貼到瀏覽器中,是否會顯示一個頁面? (注意:我會嘗試第二頁,我必須轉義第一個網址中的引號。)
您運行的是哪個版本的 JMP? 如果是舊版本,是不是不支持該功能?你用的是mac還是windows?
回复:使用JSL從網絡獲取數據@msharp :
我似乎遇到了與之前嘗試使用“打開”命令時相同的錯誤。 這和設置有關係嗎?

回复:使用JSL從網絡獲取數據您可以通過轉到“查看”->“加載項...”來訪問該加載項的 JSL,然後選擇 Yahoo Fetcher 加載項並單擊“主文件夾”鏈接。

它將在資源管理器(如果您使用的是 Mac,則為 Finder)中打開該文件夾。 然後您可以檢查加載項運行的 .JSL 文件。
-傑夫
編輯添加:姆夏普打敗了我。
回复:使用JSL從網絡獲取數據要訪問加載項背後的代碼,請轉至查看>>加載項...>>選擇所選加載項,然後選擇主文件夾旁邊的鏈接。這將帶您進入本地硬盤上存儲所有加載項腳本和文件的文件夾。
編輯:我可能已經打敗了傑夫,但他有一張可愛的圖片可以幫助澄清。
回复:使用JSL從網絡獲取數據因此,以雅虎財經為例,我向您展示兩種通用方法。如果您訪問任何網站,您只需使用 open 命令並指定 HTML 表即可。這需要將數據存儲在 HTML 表中。
下面,我向您展示 yahoo Finance table.csv api。在末尾添加 s=TWTR 將為所有 Twitter 數據創建一個 CSV 文件,然後您可以在 JMP 中使用。如果您想了解有關 api 的更多信息,此頁面會很有幫助。
雅虎財經(隱藏)API |伊多·格林
//只是瀏覽網頁,就能得到這些表
打開( ” http://finance.yahoo.com/echarts?s=TWTR# {\!"allowChartStacking\!":true}" , HTML 表格( 2 )) ;
打開( ” http://finance.yahoo.com/q;_ylt=AwrXgiOYWBFXxGUAYiiTmYlQ;_ylu=X3oDMTE0bWJta2VyBGNvbG8DZ3ExBHBvcwMxBHZ0aWQDVklEUUJDS18xBHNlYwNzYw--?s=TWTR ” , HTML 表格( 2 )) ;
打開( ” http://finance.yahoo.com/q;_ylt=AwrXgiOYWBFXxGUAYiiTmYlQ;_ylu=X3oDMTE0bWJta2VyBGNvbG8DZ3ExBHBvcwMxBHZ0aWQDVklEUUJDS18xBHNlYwNzYw--?s=TWTR ” , HTML 表格( 3 )) ;
//這是yahoo Finance api接口
打開( ” http://ichart.finance.yahoo.com/table.csv?s=TWTR ” ) ;
回复:使用JSL從網絡獲取數據你好傑夫,
謝謝 。 我已經下載了插件。我的目標是能夠學習和理解如何在 JSL 中做到這一點,但我不知道如何利用 addin 背後的代碼。 另外 - 該插件似乎只是在瀏覽器中打開股票信息,而不是將數據導入 JMP(這就是我想要做的)。 我希望從這些公共存儲庫導入數據,以提高我在 JSL 中的分析技能和編碼技能。
最好的
烏代
回复:使用JSL從網絡獲取數據這雅虎財經獲取器JMP 插件將是一個很好的起點。
-傑夫
回复:使用JSL從網絡獲取數據姆夏普,
我看過幾個選項:
1.條形圖.com
2.雅虎財經
3.谷歌財經
但我不知道我們是否需要 ping 這些網站的 api,或者它們是否可以作為 HTML 表進行訪問。
最好的
烏代
回复:使用JSL從網絡獲取數據從網絡獲取數據的方法有很多。最佳方法取決於數據源。在您發布的示例中,用戶只需使用 Open() 命令並告訴它要提取 HTML 中的哪個數據表。這是迄今為止最簡單的,但並不總是可行。一些網站(例如 Twitter)已經設置了 API。這種方法稍微複雜一些,但功能卻極其強大。
你做了你的研究嗎?您知道從哪裡可以獲得股票價格信息嗎?數據來源是什麼?