導航:首頁 > 數據行情 > 如何爬取新浪股票數據

如何爬取新浪股票數據

發布時間:2023-05-22 01:09:12

⑴ 請問怎樣用Java獲取股票行情歷史數據新浪、搜狐、百度財經都可以......

publicclassStockConnection{
publicstaticvoidmain(String[]args){
URLur=null;
try{
//搜狐股票行情歷史介面
// ur=newURL("http://q.stock.sohu.com/hisHq?code=cn_300228&start=20130930&end=20131231&stat=1&order=D&period=d&callback=historySearchHandler&rt=jsonp");
//新浪股票行情歷史介面
ur=newURL("http://biz.finance.sina.com.cn/stock/flash_hq/kline_data.php?&rand=random(10000)&symbol=sh600000&end_date=20150809&begin_date=20000101&type=plain");
HttpURLConnectionuc=(HttpURLConnection)ur.openConnection();
BufferedReaderreader=newBufferedReader(newInputStreamReader(ur.openStream(),"GBK"));
Stringline;
while((line=reader.readLine())!=null){
System.out.println(line);
}
}catch(Exceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
}
}

⑵ 如何通過軟體抓取新浪財經里單只股票數據

如果你是准備抓歷史數據,那還不如直接使用免費的wdz程序,滬深1990年至今的全部日線歷史;2000年至今十幾年的5分鍾數據都可以直接輸出,而且可轉化為各種格式。根本不用去新浪中抓取。

⑶ 如何用C#編程讀取新浪的股票實時行情

使用system.net下HttpWebRequest 和HttpWebResponse 就能完成你的需求。
1、你直接請求sina的頁面。
2、通過對返回的字元串(或者document對象)進行分析,能夠取到相應的數據。

⑷ 在VB.NET中如何使用新浪股票數據介面

基本沒有,你得和人家有合作關系

⑸ 怎樣從新浪財經獲取股票交易數據

直接進入新浪財經的首頁,在搜索欄中輸入股票的代碼或者是拼音簡稱就可以查詢到。不過用新浪看看美股的行情還是不錯的,國內的股票可以通過同花順,東方財付通等主流的軟體看盤。

⑹ 請問用C#如何提取新浪等網站的股票實時動態行情數據

找到一個利用webservice的方法,希望能夠幫助你

聲明: 這篇文章適合在C#命令行編譯器下的開發借鑒,對於已經裝了MS.NET的朋友,開發客戶端時將會更容易一些,我隨後對登出我自己的開發程序,這篇文章為我摘錄的.摘錄URL:http://www.knowsky.com/2016.html

(一)

Web Services,即Web服務,是微軟.NET戰略中非常重要的一個概念。它的目的是將Web站點轉變為集組織、應用、服務以及設備於一體的可設計Web站點,使Web站點不再處於被動的地位。

本文將介紹如何建立和使用一個在.NET 平台上提供股票報價的Web服務。我們將使用Yahoo的一項以CSV(以逗號分隔的值)的格式提供股票報價的免費服務,將其包含在我們的web 服務中。

注意:這個報價服務常式的運行大約延遲15分鍾,只用於教學目的。

建立Web服務

下面將採用逐步講解代碼的形式來幫助你理解在.NET 中Web服務的編程模式。我們可以使用notepad等任何文本編輯器來編寫 這里的Web服務常式代碼,最後將文件存儲為StockQuote.asmx。請注意:所有的Web服務文件保存時都使用擴展名 *.asmx。

<%@ WebService Language="C#" class="DailyStock" %>

代碼的第一行定義了一個 Web 服務,使用的語言是C#。class屬性用來指示Web服務應該調用和使用的類。如果在Web服務中使用了許多類,那麼就應該用這個屬性來表明Web服務應該首先調用的類。

using System ;

using System.Web.Services ;

using System.Net ;

using System.IO ;

using System.Text ;

以上代碼負責引入必要的名稱空間。 請記住永遠都要引入System.Web.Services這個名稱空間。根據類的需要,再引入保留的名稱空間。

public class DailyStock : WebService

{

......

....

}

這里我們將公共類定義為 DailyStock,它擴展了 System.Web.Services.WebService 類。所有想暴露為 Web服務的類都應該擴展System.Web.Services.WebServices類。 另外,Web 服務的存取修飾語永遠都是public。

[WebMethod]

public string GetQuote(string symbol)

{

........

........

}

以上我們定義了一個公共Web方法 GetQuote。同類的定義一樣,Web 方法也都要用 public這個修飾語來聲明。 [WebMethod] 屬性呈現出將要被用在Web服務中的一些潛在方法,希望客戶存取的所有方法都應該用[WebMethod] 屬性進行標記。GetQuote方法接受一個字元串輸入參數,它包含了使用者所需要的報價符號。這個方法返回一個字元串,其中包含股票報價或錯誤

string ret;

try

{

// The Path to the Yahoo Quotes Service

string fullpath = @"http://

// Create a HttpWebRequest object on the Yahoo url

HttpWebRequest webreq = (HttpWebRequest)WebRequestFactory.Create(fullpath);

// Get a HttpWebResponse object from the Yahoo url

HttpWebResponse webresp = (HttpWebResponse)webreq.GetResponse();

// Create a StreamReader object and pass the Yahoo Server stream as a parameter

StreamReader strm = new StreamReader(webresp.GetResponseStream(), Encoding.ASCII);

// Read a single line from the stream (from the server)

// We read only a single line, since the Yahoo server returns all the

// information needed by us in just one line.

ret= strm.ReadLine();

// Close the stream to the server and free the resources.

strm.Close();

}

catch(Exception)

{

// If exception occurred inform the user

ret="Exception Occurred" ;

}

file://Return the Quote or Exception

return ret ;

以上是GetQuote 方法的內容。這里使用一個 try-catch模塊來截獲從Yahoo中得到股票報價的過程中可能發生的錯誤。在 try-catch模塊內部聲明了一個字元串變數,這個變數中保存著獲取yahoo服務的完整路徑,用戶提供的symbol字元串變數被加到這個連接字元串上。

路徑建立好之後,就要從連接字元串中構造一個 HttpWebRequest對象和一個 HttpWebResponse 對象。接著,用StreamReader打開一個到Yahoo

(二)

配置Web服務

配置Web 服務與一個配置ASP.NET應用程序相同。如果自己有Web伺服器,那麼就創建一個稱為stockquote 的虛擬目錄,然後將 StockQuote.asmx復制到這個目錄中。如此就完成了Web 服務的配製。要調用Web服務,首先啟動瀏覽器,然後鍵入Web 服務的路徑,如 http://localhost/stockquote/StockQuote.asmx,接著看到的頁面就是由Web服務運行時間環境自動生成的結果。在文本框中鍵入符號,例如AOL 或 MS,再點擊invoke按鈕,這時就會彈出一個新的窗口,在其中向你顯示了Web服務的輸出信息。

使用Web服務

基本上有兩種使用Web 服務的方法。可以通過瀏覽器直接調用 Web 服務,並按照上面介紹的方法來使用它。或者,也可以在應用程序使用它。下面就看看如何建立一個Web 應用程序和一個控制台應用程序,通過它們來使用Web服務。當然,也可以使用Win Form 應用程序作為替代來使用Web 服務。

獲取服務的描述

為了與Web服務進行通信,客戶應該知道這個Web服務支持哪種方法以及如何與它們進行通信。.NET 上的Web服務自動用SDL(服務描述語言)產生一個 XML格式文檔,這樣就使客戶能夠獲取與Web服務通信時所需要的信息。 在Web 服務URL之後附加 ?SDL 使Web服務生成客戶能夠使用的SDL文檔。要查閱這里接受的Web 服務的SDL,可以在瀏覽器中鍵入http://localhost/stockquote/StockQuote.asmx?SDL。

(三)

構造代理庫

.NET 平台上的應用程序可以使用代理庫來調用Web服務上的方法,這樣使用Web服務就非常容易。生成代理庫的第一步是從SDL中生成一個Web服務的代理類。.NET SDK提供了一個叫做WebServiceUtil.exe的工具,它能夠幫助我們生成一個代理類。要生成Web服務的代理類,首先進入命令行環境,然後轉到將要開發客戶應用程序的那個目錄,接著輸入以下命令:

WebServiceUtil /c:proxy /pa:http://localhost/stockquote/StockQuote.asmx?SDL /n:Quotes

以上命令執行後,會在運行這個命令的目錄中生成一個 C# 源代碼文件,叫做 DailyStock.cs (要記住Web服務類的名稱也是 DailyStock,)。現在來看這些自變數的含義:

l /c:proxy:告訴WebServiceUtil生成一個代理類

l /pa:http://localhost/stockquote/StockQuote.asmx?SDL:向SDL提供Web服務的路徑。如果已經將Web服務的SDL 保存到了硬碟上,我們甚至可以提供SDL文件的本地路徑。

l /n:Quotes:告訴WebServiceUtil將代理類放在 Quotes名稱空間。這樣做的目的是為了更容易地管理和使用代理庫。

代理庫准備好之後,我們使用C# 編譯器從上面步驟中剛創建的代理類中生成一個代理庫:

csc /target:library /r:System.dll;System.Web.Services.dll;System.Net.dll;

System.IO.dll;System.Xml.Serialization.dll DailyStock.cs

生成代理庫的時候,我們使用了 /target:library開關以表示想要輸出一個庫文件。我們還引用一些曾經在Web服務中使用過的集合。編譯器將在運行命令所在目錄中生成一個名為DailyStock.dll 的dll 庫。

(四)

創建 Web應用程序用戶

下面創建一個Web應用程序StockConsumer.aspx,它作為這個StockQuote(股票報價) Web服務的第一個用戶。

<%@ Page language="C#" %>

<%@ Import Namespace="System.Xml" %>

<%@ Import Namespace="Quotes" %>

以上引入必要的名稱空間。要記住也要引入 Quotes名稱空間,它是代理庫的名稱空間。

<html>

<head>

<script runat=server>

// Wire up the onClick event for a button

protected void button1_Click(object sender, EventArgs e)

{

file://Create a object of the class DailyStock (the proxy class)

DailyStock ds = new DailyStock();

// Call the GetQuote method of the proxy class DailyStock and

// pass the symbol string from the textbox

string res = ds.GetQuote(symbol.Text);

// The returned string has values which are separated

// by commas.

// Hence we split the returned string into parts

char[] splitter = {','} ;

string[] temp = res.Split(splitter);

// Check if the string array returned has more than one

// elements since if there are less than one elements

// then an exception must have been returned

if(temp.Length >1)

{

// The WebService returns a lot of information about the

// stock. We only show the relevant portions

// Set the label to current Index

curindex.Text = "Current Index :"+temp[1];

// Set the label to current Date Time

curdate.Text ="Last Update on"+temp[2]+" at "+temp[3];

}

else

{

error.Text = "Error :"+res ; file://set the error label

}

}

</script>

以上ASP.NET頁面代碼中,首先對Web 服務DailyStock進行例示。由於已經生成了代理庫,因此Web服務的調用方法與其它任何庫的調用方法都相同。調用DailyStock 類的GetQuote()方法後,將返回一個字元串,其中包含了以逗號分隔的列表符號的完整信息。

我們將限制顯示給客戶的信息為只顯示當前指數和所報告指數的日期/時間。為了將字元串分成若干不同的部分,這里使用了字元串類的Split方法,在出現逗號的地方將字元串分割成部分。並且,將分割開的字元串組成數組之後,再使用相關的數值為Web頁面設置不同的標簽。

代碼的其餘部分

<body>

<center>

<h2>.NET101 Stock Quote Consumer </h2>

<form runat=server >

<table border=1 celspacing=1>

<tr><th>Please enter the symbol below</th></tr>

<tr><td>

<asp:textbox id=symbol runat=server />

<asp:button id=button1 text="Get Quote" onClick="button1_Click" runat=server />

</td></tr>

<tr><td><asp:label id=curindex runat=server /></td></tr>

<tr><td><asp:label id=curdate runat=server /></td></tr>

<tr><td><asp:label id=error runat=server /></td></tr>

</table>

</form>

</center>

</body>

</html>

(五)

小結

下面總結一下配置Web應用程序的步驟:

l 創建一個叫做StockConsumer的虛擬目錄

l 將 StockConsumer.aspx 文件復制到這個虛擬目錄下

l 在wwwroot 文件夾中創建一個 bin 虛擬目錄

l 設置bin目錄以執行代碼的許可權

l 將代理 dll 文件DailyStock.dll復制到這個目錄下,ASP.NET 運行時間引擎會自動從Bin目錄中選擇對外部庫的引用。這里的例子中,這個外部庫是DailyStock.dll。

現在調用文件 http://localhost/StockConsumer/StockConsumer.aspx,然後鍵入股票的符號,點擊 "Get Quote"(獲取報價)按鈕,就能看到正在使用的Web服務了。注意:Web服務應該能夠使用yahoo伺服器,否則它就會返回一個錯誤信息。

⑺ 如何在sina股票上下載數據

1、首先切換到要下載數據的股票K線形態,按「F1」進入「日線某某股票歷史成交」;
2、點擊滑鼠右鍵->數據導出->導出所有數據->在「請選擇導出的類型」中選擇excel或txt,,只有這二種格式可以選擇;
3、選取好後點擊下一步,在「導入導出對話框模板」中選擇要的項目(如最高價、最低價,開盤價等,默認是全選),點下一步,完成。默認保存路徑在桌面上。

⑻ matlab怎樣抓取Yahoo/Sina的股票數據

給你一個常式,用於抓取新浪股票2017年1月份的股票數據。程序如下:

clc;
clear;
year=2017;
season = 1 ;
fprintf('抓取%d年%d季度的數據中...\n', year, season)
[sourcefile, status] = urlread(sprintf('http://vip.stock.finance.sina.com.cn/corp/go.php/vMS_MarketHistory/stockid/000001/type/S.phtml?year=%d&season=%d', year));
expr2 = '<div align="center">(\d*\.?\d*)</div>';
[datafile, data_tokens] = regexp(sourcefile, expr2, 'match', 'tokens'); %從源文件中獲取目標數據
data = zeros(size(data_tokens));%產生和數據相同長度的0
for idx = 1:length(data_tokens)
data(idx) = str2double(data_tokens{idx}{1}); %轉變數據類型後存入data中
end
%%占坑打個廣告,代寫matlab程序(畢業設計,課程任務等)
%%信號處理,小波變換,PCA降維,ICA分析,分類器,濾波器等。QQ:1577232787

⑼ 如何爬取新浪財經的多級數據

爬取新浪財經的多級數據可以按照以下步驟。
1、導入依賴的模塊,需要導入的程序介面有request、pyquery和Pandas。
2、選擇爬取數據,選取的數據為新浪財經的網頁,進入微博-新浪財經的網頁,點擊滑鼠右鍵,出現如圖所示的對話框,點擊檢查。
3、點擊Toggledevive鍵,將網頁由PC顯示,轉換成手機顯示模式以便於爬取網頁內容,多數網站在PC端都建立了防爬措施。
4、進入網頁的手機端後,點擊Network。
5、從選擇的網頁中選取需要的內容進行爬取並輸出。

⑽ 如何將新浪網上的股票行情導入到excel中並實時更新

1、首先查找股票價格表的地址。x0dx0a2、打開EXCEL表將游標置於A1,選「數據/導入外部數據/新建veb查詢」,在地址欄輸入股票價格表地址,「轉到」,單擊價格表旁黃色向右箭頭,單擊「導入」,即可將價格表導入EXCEL表。x0dx0a3、將EXCEL表起名,保存。x0dx0a4、游標放在新導入表格中,在「數據/導入外部數據/數據區域屬性/數據控制項」中,勾選「打開工作簿時自動刷新/確定」。x0dx0a4、再在目錄打開保存過的EXCEL表,點擊「啟用自動刷新」按鈕,即可根據網上最新的股票數據予以刷新。x0dx0a5、你還應進一步建立自己股票查詢表,用VLOOKUP函數根據股票代碼將自己的股票信息導入到查詢表中,並設置收益計算等項目。x0dx0a這樣,每天打開查詢表,刷新,即可見到自己股票的最新信息和收益狀況了。

閱讀全文

與如何爬取新浪股票數據相關的資料

熱點內容
銀行定向降准與股票 瀏覽:465
買了退市整理前的股票 瀏覽:836
股票沒有主力為何會漲 瀏覽:188
股票跳高缺口漲停是好是壞 瀏覽:884
中國船舶股票持倉圖片 瀏覽:967
股票主力狀態參數設置 瀏覽:653
4月8日漲停股票有哪些 瀏覽:545
股票投資組合成長性 瀏覽:443
金融危機下什麼股票賺錢 瀏覽:248
海通證券app怎麼賣股票 瀏覽:551
g股票資金凈流出 瀏覽:520
股票凈入資金統計 瀏覽:751
天碩集團股票上市時間 瀏覽:873
無限售條件的股票 瀏覽:460
股票的技術指標分析案例 瀏覽:653
股票發布盈利利好一般幾個漲停 瀏覽:638
重組停牌的股票暴漲 瀏覽:572
etf基金股票分紅交稅 瀏覽:852
公司賬務逾期對股票的影響 瀏覽:239
投資學課件股票 瀏覽:439