股票行情php獲取實例(股票行情php獲取實例數據)

  • 1、PHP網頁中如何嵌入股票走勢圖? 哪位大俠知道啊?
  • 2、如何獲取實時的股票行情信息,有相關的公用介面或者數據源嗎
  • 3、php如何在網頁中調用股票信息
  • 4、PHP如何接收外部數據,比如我想要『東方財富網』的股票數據,如何做連接?
  • 5、急求!哪位懂股票的IT大神能用php代碼寫出RSI的演算法,最好帶有註解 謝謝

股票走勢圖一般用FLASH生成的 . PHP 從資料庫取出數據 , 然後生成固定格式的XML , 把XML用JS提交給 FLASH , 生成圖形表 . 一般都是這麼做的 , 就是說 , 首先要有數據 , 一般是 時間 對應數值這樣的數據 , 然後用FLASH 獲取數據 生成走勢圖 , 完成!

實時股票數據介面

股票數據的獲取目前有如下兩種方法可以獲取:

1.

http/javascript介面取數據

2.

web-service介面

1.http/javascript介面取數據

1.1Sina股票數據介面

以大秦鐵路(股票代碼:601006)為例,如果要獲取它的最新行情,只需訪問新浪的股票數據

介面:

這個url會返回一串文本,例如:

var

hq_str_sh601006=”大秦鐵路, 27.55, 27.25, 26.91, 27.55, 26.20, 26.91,

26.92,

22114263, 589824680, 4695, 26.91, 57590, 26.90, 14700,

26.89, 14300,

26.88, 15100, 26.87, 3100, 26.92, 8900, 26.93,

14230, 26.94, 25150, 26.95, 15220, 26.96, 2008-01-11,

15:05:32″;

這個字元串由許多數據拼接在一起,不同含義的數據用逗號隔開了,按照程序員的思路,順序號從0開始。

0:」大秦鐵路」,股票名字;

1:」27.55″,今日開盤價;

2:」27.25″,昨日收盤價;

3:」26.91″,當前價格;

4:」27.55″,今日最高價;

5:」26.20″,今日最低價;

6:」26.91″,競買價,即「買一」報價;

7:」26.92″,競賣價,即「賣一」報價;

8:」22114263″,成交的股票數,由於股票交易以一百股為基本單位,所以在使用時,通常把該值除以一百;

9:」589824680″,成交金額,單位為「元」,為了一目了然,通常以「萬元」為成交金額的單位,所以通常把該值除以一萬;

10:」4695″,「買一」申請4695股,即47手;

11:」26.91″,「買一」報價;

12:」57590″,「買二」

13:」26.90″,「買二」

14:」14700″,「買三」

15:」26.89″,「買三」

16:」14300″,「買四」

17:」26.88″,「買四」

18:」15100″,「買五」

19:」26.87″,「買五」

20:」3100″,「賣一」申報3100股,即31手;

21:」26.92″,「賣一」報價

(22,

23), (24, 25), (26,27), (28,

29)分別為「賣二」至「賣四的情況」

30:」2008-01-11″,日期;

31:」15:05:32″,時間;

一個簡單的JavaScript應用例子:

script

type=”text/javascript” src=””

charset=”gb2312″/script

/javascript”

var

elements=hq_str_sh601006.split(“,”);

document.write(“current

price:”+elements[3]);

這段代碼輸出大秦鐵路(股票代碼:601006)的當前股價

current

price:14.20

如果你要同時查詢多個股票,那麼在URL最後加上一個逗號,再加上股票代碼就可以了;比如你要一次查詢大秦鐵路(601006)和大同煤業(601001)的行情,就這樣使用URL:

查詢大盤指數,比如查詢上證綜合指數(000001):

伺服器返回的數據為:

var

hq_str_s_sh000001=”上證指數,3094.668,-128.073,-3.97,436653,5458126″;

數據含義分別為:指數名稱,當前點數,當前價格,漲跌率,成交量(手),成交額(萬元);

查詢深圳成指數:

對於股票的K線圖,日線圖等的獲取可以通過請求…./…/*.gif此URL獲取,其中*代表股票代碼,詳見如下:

查看日K線圖:

分時線的查詢:

日K線查詢:

周K線查詢:

月K線查詢:

1.2

BaiduGoogle的財經數據

在baidu,

google中搜索某隻股票代碼時,將會在頭條顯示此股票的相關信息,例如在google搜索601006時,

第一條搜索結果如下圖:

通過點擊左邊的圖片我們發現會將此圖片鏈接到sina財經頻道上,也就是說google股票數據的獲取也是從sina獲取。後經抓包分析,發現google也是採用1.1中介紹的介面。

Baidu的股票數據來自baidu的財經頻道

1.3

其他方式

除了sina,baidu等網站提供股票信息外,其他網站也有類似的介面。我們分析了一款論壇上採用的股票插件,

其中有關於實時股票數據獲取的介紹,詳見如下代碼,其中可以看到有些數據來自sina。

以下是ASP示例:

=5

then

stockdata=gethttp(“”code””)

if

not len(stockdata)=0 then

stockdata=split(stockdata,chr(34))(1)

end if

if

len(stockdata)=0

then

stockdata=”0,0,0,0,0,0,0,0,0,0,0,0″

else

stockdatasplit=split(stockdata,”,”)

stockdata=””exstock.checkstr(stockdatasplit(0))”,”stockdatasplit(1)”,”stockdatasplit(2)”,”stockdatasplit(3)”,”stockdatasplit(4)”,”stockdatasplit(5)”,”formatdatetime(“”stockdatasplit(30)”

“stockdatasplit(31)””,0)””

end

if

『0=股票名稱,1=開盤價格,2=昨收盤價格,3=當前價格,4=最高價,5=最低價,6=更新時間

getstockdata=stockdata

end

function

function getstockimg(code)

dim

rndnum,addnum,checkcode,imgsource

if len(code)=5

then

getstockimg=””code”.gif”

end

if

imgsource=””

case

3

getstockimg=”?”code”1003SZ

500 330″

imgsource=””

case

4

getstockimg=””code””

imgsource=””

end

select

getstockimg=split(“”getstockimg”||”imgsource””,”||”)

end

function

function getastockimg()

dim

rndnum,addnum,checkcode

dim

getastockimgb,imgsource

addnum=6

randomize:rndnum=cint(rnd*addnum)

select

case rndnum

case

getastockimg=””

getastockimgb=””

imgsource=””

case

1

getastockimg=””

getastockimgb=””

imgsource=””

case

2

getastockimg=”;w=180h=140″

getastockimgb=”;w=180h=140″

imgsource=””

case

3

getastockimg=”;1002SZ

180

140″

getastockimgb=”;1002SZ

180

140″

imgsource=””

case

4

getastockimg=””

getastockimgb=””

imgsource=””

case

5

getastockimg=””

getastockimgb=””

imgsource=””

case

6

getastockimg=””

getastockimgb=””

imgsource=””

end

select

getastockimg=split(“”getastockimg”||”getastockimgb”||”imgsource””,”||”)

end

function

%

2.

web-service介面

2.1 CHINAstock的web-service:

中國股票行情數據

WEB 服務(支持深圳和上海股市的全部基金、債券和股票),數據即時更新。輸出GIF分時走勢圖、日/周/月 K

線圖、及時行情數據(股票名稱、行情時間、最新價、昨收盤、今開盤、漲跌額、最低、最高、漲跌幅、成交量、成交額、競買價、競賣價、委比、買一 – 買五、賣一 –

賣五)。此WEB服務提供了如下幾個介面:

2.1.1

getStockImageByCode

GET

股票GIF分時走勢圖

INput:theStockCode =

股票代號,如:sh000001

POST /WebServices/ChinaStockWebService.asmx

HTTP/1.1

Host:

Content-Type:

text/xml; charset=utf-8

Content-Length:

length

SOAPAction:

“”

string

Output:

2.1.2

getStockImageByteByCode

獲得中國股票GIF分時走勢圖位元組數組

INput:theStockCode

= 股票代號,如:sh000001

POST /WebServices/ChinaStockWebService.asmx

HTTP/1.1Host: : text/xml;

charset=utf-8Content-Length: lengthSOAPAction:

“”

string

返回的數據如下:

R0lGODlhIQIsAfcAAAAAAAwLBxkGBQ4ODhAQEBsSChUVFS4TDB8eGQkA9koPCDAAzy4mFVgAp2UYC0IqEUYuBVwiDEAsI1QnFX8AgDU1NUozFlgxD6cBWVY5FnIwEmQ4Gc0AMlhDHPEADlVJMEpKSm1IHOUBWpY3FZMyVY9IGXRWIEFmWGNYUmpdPXJgHQB8HK9EGGBgX4lXIACoAHhkMyt4m4VkJtstbv8A

2.1.3

getStockImage_kByCode

直接獲得中國股票GIF日/周/月 K

線圖(545*300pixel/72dpi)

INPUT: theStockCode =

股票代號

theType = K 線圖類型(D:日[默認]、W:周、M:月),

POST

/WebServices/ChinaStockWebService.asmx HTTP/1.1Host:

: text/xml; charset=utf-8Content-Length:

lengthSOAPAction: “” string

string

比如按照下圖所示輸入:

返回的結果就是周K線圖:

2.1.4

getStockImage_kByteByCode

獲得中國股票GIF日/周/月 K

線圖位元組數組

Input:theStockCode = 股票代號,如:sh000001

POST

/WebServices/ChinaStockWebService.asmx HTTP/1.1Host:

: text/xml; charset=utf-8Content-Length:

lengthSOAPAction: “” string string

HTTP/1.1 200 OKContent-Type: text/xml; charset=utf-8Content-Length: length

base64Binary

比如按照下圖輸入:

返回的結果就是周K線圖位元組數組

R0lGODlhIQIsAfcAAAAAAAwLBxkGBQ4ODhAQEBsSChUVFS4TDB8eGQkA9koPCDAAzy4mFVgAp2UYC0IqEUYuBVwiDEAsI1QnFX8AgDU1NUozFlgxD6cBWVY5FnIwEmQ4Gc0AMlhDHPEADlVJMEpKSm1IHOUBWpY3FZMyVY9IGXRWIEFmWGNYUmpdPXJgHQB8HK9EGGBgX4lXIACoAHhkMyt4m4VkJtstbv8A

2.1.5

getStockInfoByCode

獲得中國股票及時行情

input:theStockCode

= 股票代號

POST /WebServices/ChinaStockWebService.asmx HTTP/1.1Host:

: text/xml; charset=utf-8Content-Length:

lengthSOAPAction: “”

string

返回的值一個一維字元串數組

String(24),結構為:String(0)股票代號、String(1)股票名稱、String(2)行情時間、String(3)最新價(元)、String(4)昨收盤(元)、String(5)今開盤(元)、String(6)漲跌額(元)、String(7)最低(元)、String(8)最高(元)、String(9)漲跌幅(%)、String(10)成交量(手)、String(11)成交額(萬元)、String(12)競買價(元)、String(13)競賣價(元)、String(14)委比(%)、String(15)-String(19)買一

– 買五(元)/手、String(20)-String(24)賣一 – 賣五(元)/手。

Web

service的方法類似於現在concurrent項目的DBWS數據的獲取,都是通過SOAP協議向DBWS伺服器獲取相關的數據。

利用雅虎查中國股票

;f=slc1wop

返回微軟的股票價格

“MSFT”,”4:00pm

– 30.70″,+1.04,”21.46 –

30.75″,29.77,29.66

;f=slc1wop

這個返回安泰科技的,一般有半個小時的延遲。

但是s=000969.sz

這個後面的sz是深圳的意思, 滬市是SS後綴

去找個國內ip包。然後咋index.php 裡面寫程序判斷。或者用第三方cdn!你的採納是我前進的動力,

記得好評和採納,答題不易,互相幫助,

手機提問的朋友在客戶端右上角評價點滿意即可.

如果你認可我的回答,請及時點擊採納為滿意回答按鈕!

首先考慮對方API,不過我估計中國人的網站沒幾個開API的。

亞馬遜就有API,你可以調取圖書信息。

要麼根據鏈接,獲取整個網頁內容,然後用正則表達式獲取指定部分數據。

可以參考 的數據採集教程

php RSI:  

class RSI{    

static function lag($period = 14){    

return $period;    

}    

    

static function run($data, $period = 14){    

$change_array = array();    

//loop data    

foreach($data as $key = $row){    

//need 2 points to get change    

if($key = 1){    

$change = $data[$key][‘close’] – $data[$key – 1][‘close’];    

//add to front    

array_unshift($change_array, $change);    

//pop back if too long    

if(count($change_array)  $period)    

array_pop($change_array);    

}    

//have enough data to calc rsi    

if($key  $period){    

//reduce change array getting sum loss and sum gains    

$res = array_reduce($change_array, function($result, $item) {     

if($item = 0)    

$result[‘sum_gain’] += $item;    

    

if($item  0)    

$result[‘sum_loss’] += abs($item);    

   return $result;     

}, array(‘sum_gain’ = 0, ‘sum_loss’ = 0));     

$avg_gain = $res[‘sum_gain’] / $period;    

$avg_loss = $res[‘sum_loss’] / $period;    

//check divide by zero    

if($avg_loss == 0){    

$rsi = 100;    

} else {    

//calc and normalize    

$rs = $avg_gain / $avg_loss;     

$rsi = 100 – (100 / ( 1 + $rs));    

}    

//save    

$data[$key][‘val’] = $rsi;    

    

}    

}    

return $data;    

}    

}

原創文章,作者:J4ZJ8,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/126592.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
J4ZJ8的頭像J4ZJ8
上一篇 2024-10-03 23:08
下一篇 2024-10-03 23:09

相關推薦

  • Python讀取CSV數據畫散點圖

    本文將從以下方面詳細闡述Python讀取CSV文件並畫出散點圖的方法: 一、CSV文件介紹 CSV(Comma-Separated Values)即逗號分隔值,是一種存儲表格數據的…

    編程 2025-04-29
  • PHP和Python哪個好找工作?

    PHP和Python都是非常流行的編程語言,它們被廣泛應用於不同領域的開發中。但是,在考慮擇業方向的時候,很多人都會有一個問題:PHP和Python哪個好找工作?這篇文章將從多個方…

    編程 2025-04-29
  • Python中讀入csv文件數據的方法用法介紹

    csv是一種常見的數據格式,通常用於存儲小型數據集。Python作為一種廣泛流行的編程語言,內置了許多操作csv文件的庫。本文將從多個方面詳細介紹Python讀入csv文件的方法。…

    編程 2025-04-29
  • Python生成隨機數的應用和實例

    本文將向您介紹如何使用Python生成50個60到100之間的隨機數,並將列舉使用隨機數的幾個實際應用場景。 一、生成隨機數的代碼示例 import random # 生成50個6…

    編程 2025-04-29
  • 如何用Python統計列表中各數據的方差和標準差

    本文將從多個方面闡述如何使用Python統計列表中各數據的方差和標準差, 並給出詳細的代碼示例。 一、什麼是方差和標準差 方差是衡量數據變異程度的統計指標,它是每個數據值和該數據值…

    編程 2025-04-29
  • Python多線程讀取數據

    本文將詳細介紹多線程讀取數據在Python中的實現方法以及相關知識點。 一、線程和多線程 線程是操作系統調度的最小單位。單線程程序只有一個線程,按照程序從上到下的順序逐行執行。而多…

    編程 2025-04-29
  • Python爬取公交數據

    本文將從以下幾個方面詳細闡述python爬取公交數據的方法: 一、準備工作 1、安裝相關庫 import requests from bs4 import BeautifulSou…

    編程 2025-04-29
  • Python兩張表數據匹配

    本篇文章將詳細闡述如何使用Python將兩張表格中的數據匹配。以下是具體的解決方法。 一、數據匹配的概念 在生活和工作中,我們常常需要對多組數據進行比對和匹配。在數據量較小的情況下…

    編程 2025-04-29
  • Python數據標準差標準化

    本文將為大家詳細講述Python中的數據標準差標準化,以及涉及到的相關知識。 一、什麼是數據標準差標準化 數據標準差標準化是數據處理中的一種方法,通過對數據進行標準差標準化可以將不…

    編程 2025-04-29
  • 如何使用Python讀取CSV數據

    在數據分析、數據挖掘和機器學習等領域,CSV文件是一種非常常見的文件格式。Python作為一種廣泛使用的編程語言,也提供了方便易用的CSV讀取庫。本文將介紹如何使用Python讀取…

    編程 2025-04-29

發表回復

登錄後才能評論