導航:首頁 > 科創數據 > 易語言爬取股票數據

易語言爬取股票數據

發布時間:2021-08-11 15:09:26

1. 如何編程從免費股票軟體中提取實時數據

自己寫程序的話,一種方法是從已提供的信息源,例如webservice獲取數據。還有種辦法就是去連接提供即時信息的網頁硬解析。

代碼舉例如下:

Created on Thu Jul 23 09:17:27 2015
@author: jet
"""
DAY_PRICE_COLS = ['date', 'open', 'high', 'close', 'low', 'volume',
'chg', '%chg', 'ma5', 'ma10', 'ma20',
'vma5', 'vma10', 'vma20', 'turnover']
DAY_PRICE_URL = '%sapi.finance.%s/%s/?code=%s&type=last'
INDEX_KEY = ['SH', 'SZ', 'HS300', 'SZ50', 'GEB', 'SMEB']
INDEX_LIST = {'SH': 'sh000001', 'SZ': 'sz399001', 'HS300': 'sz399300',
'SZ50': 'sh000016', 'GEB': 'sz399006', 'SMEB': 'sz399005'}
INDEX_DAY_PRICE_COLS= ['date', 'open', 'high', 'close', 'low', 'volume',
'chg', '%chg', 'ma5', 'ma10', 'ma20',
'vma5', 'vma10', 'vma20']
K_TYPE_KEY = ['D', 'W', 'M']
K_TYPE_MIN_KEY = ['5', '15', '30', '60']
K_TYPE = {'D': 'akdaily', 'W': 'akweekly', 'M': 'akmonthly'}
MIN_PRICE_URL = '%sapi.finance.%s/akmin?scode=%s&type=%s'
PAGE_TYPE = {'http': 'http://', 'ftp': 'ftp://'}
PAGE_DOMAIN = {'sina': 'sina.com.cn', 'ifeng': 'ifeng.com'}
URL_ERROR_MSG = '獲取失敗,請檢查網路狀態,或者API埠URL已經不匹配!'

get_hist_data.py
# -*- coding: utf-8 -*-
"""
Created on Thu Jul 23 09:15:40 2015
@author: jet
"""
import const as ct
import pandas as pd
import json
from urllib2 import urlopen,Request

def get_hist_data(code = None, start = None, end = None, ktype = 'D'):
"""
功能:
獲取個股歷史交易數據
--------
輸入:
--------
code:string
股票代碼 比如:601989
start:string
開始日期 格式:YYYY-MM-DD 為空時取到API所提供的最早日期數據
end:string
結束日期 格式:YYYY-MM-DD 為空時取到最近一個交易日數據
ktype:string(default=D, 函數內部自動統一為大寫)
數據類型 D=日K線,W=周K線,M=月K線,5=5分鍾,15=15分鍾
30=30分鍾,60=60分鍾
輸出:
--------
DataFrame
date 日期
open 開盤價
high 最高價
close 收盤價
low 最低價
chg 漲跌額
p_chg 漲跌幅
ma5 5日均價
ma10 10日均價
ma20 20日均價
vma5 5日均量
vma10 10日均量
vma20 20日均量
turnover換手率(指數無此項)
"""
code = code_to_APIcode(code.upper())
ktype = ktype.upper()

url = ''
url = get_url(ktype, code)
print(url)

js = json.loads(ping_API(url))
cols = []

if len(js['record'][0]) == 14:
cols = ct.INDEX_DAY_PRICE_COLS
else:
cols = ct.DAY_PRICE_COLS
df = pd.DataFrame(js['record'], columns=cols)

if ktype in ct.K_TYPE_KEY:
df = df.applymap(lambda x:x.replace(u',', u''))
for col in cols[1:]:
df[col]=df[col].astype(float)
if start is not None:
df = df [df.date >= start]
if end is not None:
df = df[df.date <= end]
df = df.set_index('date')
return df

def code_to_APIcode(code):
"""
功能:
驗證輸入的股票代碼是否正確,若正確則返回API對應使用的股票代碼
"""
print(code)
if code in ct.INDEX_KEY:
return ct.INDEX_LIST[code]
else:
if len(code) != 6:
raise IOError('code input error!')
else:
return 'sh%s'%code if code[:1] in ['5', '6'] else 'sz%s'%code

def get_url(ktype, code):
"""
功能:
驗證輸入的K線類型是否正確,若正確則返回url
"""
if ktype in ct.K_TYPE_KEY:
url = ct.DAY_PRICE_URL % (ct.PAGE_TYPE['http'], ct.PAGE_DOMAIN['ifeng'],
ct.K_TYPE[ktype], code)
return url
elif ktype in ct.K_TYPE_MIN_KEY:
url = ct.MIN_PRICE_URL % (ct.PAGE_TYPE['http'], ct.PAGE_DOMAIN['ifeng'],
code, ktype)
return url
else:
raise IOError('ktype input error!')

def ping_API(url):
"""
功能:
向API發送數據請求,若鏈接正常返回數據
"""
text = ''
try:
req = Request(url)
text = urlopen(req,timeout=10).read()
if len(text) < 15:
raise IOError('no data!')
except Exception as e:
print(e)
else:
return text

#測試入口
print(get_hist_data('601989','2015-07-11','2015-07-22'))

2. 想要開發一個股票交易軟體 需要怎樣獲取實時數據 數據介面

惠德贏策 大家記住了啊,這個垃圾公司老闆叫:祝清。公司內部垃圾就算了,公司出的產品都是騙人的,還有他們開發的一個模擬炒股的網站要交錢才能炒股,都是騙人的,大家千萬別上當受騙,這家公司老闆超級卑鄙,合夥別人把他原來的公司給搞垮自己開公司,不過心在自己公司也快倒閉了,員工工資都發布出來了,哈哈,真雞-巴爽呀,那個B兒子真沒話說了。
我就是受害者呀,噴血相告,切記呀

3. 如何用python獲取股票數據

在Python的QSTK中,是通過s_datapath變數,定義相應股票數據所在的文件夾。一般可以通過QSDATA這個環境變數來設置對應的數據文件夾。具體的股票數據來源,例如滬深、港股等市場,你可以使用免費的WDZ程序輸出相應日線、5分鍾數據到s_datapath變數所指定的文件夾中。然後可使用Python的QSTK中,qstkutil.DataAccess進行數據訪問。

4. 怎麼抓取股票數據

那麼中國股市的數據有沒有呢?答案是肯定的,不過要按照下面的參數做些調整,下面提供全球證券交易所的資料。
上證股票是股票代碼後面加上.ss,深證股票是股票代碼後面加上.sz
例如:000001 = 000001.sz
深市數據鏈接:http://table.finance.yahoo.com/table.csv?s=000001.sz
上市數據鏈接:http://table.finance.yahoo.com/table.csv?s=600000.ss
上證綜指代碼:000001.ss,深證成指代碼:399001.SZ,滬深300代碼:000300.ss
下面就是世界股票交易所的網址和縮寫,要查找哪個股票交易所的數據,就按照上面的格式以此類推。
上海交易所=cn.finance.yahoo.com,.SS,Chinese,sl1d1t1c1ohgv
深圳交易所=cn.finance.yahoo.com,.SZ,Chinese,sl1d1t1c1ohgv
美國交易所=finance.yahoo.com,,United States,sl1d1t1c1ohgv
加拿大=ca.finance.yahoo.com,.TO,Toronto,sl1d1t1c1ohgv
紐西蘭=au.finance.yahoo.com,.NZ,sl1d1t1c1ohgv
新加坡=sg.finance.yahoo.com,.SI,Singapore,sl1d1t1c1ohgv
香港=hk.finance.yahoo.com,.HK,Hong Kong,sl1d1t1c1ohgv
台灣=tw.finance.yahoo.com,.TW,Taiwan,sl1d1t1c1ohgv
印度=in.finance.yahoo.com,.BO,Bombay,sl1d1t1c1ohgv
倫敦=uk.finance.yahoo.com,.L,London,sl1d1t1c1ohgv
澳洲=au.finance.yahoo.com,.AX,Sydney,sl1d1t1c1ohgv
巴西=br.finance.yahoo.com,.SA,Sao Paulo,sl1d1t1c1ohgv
瑞典=se.finance.yahoo.com,.ST,Stockholm,sl1d1t1c1ohgv
以上方法只能提供歷史數據,實時數據不能抓取,此方法由ArthurXF提供

5. 如何批量獲取股票實時數據,並存儲在本地

1. 股票交易數據量實在太大,Excel不能勝任。
2. 股票交易的數據介面似乎也不太好找

6. 易語言怎麼提取股票現價

抓網頁用腳本語言比較方便,比如python。

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

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

8. 如何用python抓取股票數據

很多伺服器通過瀏覽器發給它的報頭來確認是否是人類用戶,所以我們可以通過模仿瀏覽器的行為構造請求報頭給伺服器發送請求。伺服器會識別其中的一些參數來識別你是否是人類用戶,很多網站都會識別User-Agent這個參數,所以請求頭最好帶上。
有一些警覺性比較高的網站可能還會通過其他參數識別,比如通過Accept-Language來辨別你是否是人類用戶,一些有防盜鏈功能的網站還得帶上referer這個參數等等。

9. 如何獲取股票數據與歷史數據以資料庫方式存儲的

股票歷史數據查詢有個很不錯的網頁工具可以推薦,地址是http://tool.cnfunny.cn/#/打開就可以直接使用,還可以大批量下載,方便省事!

閱讀全文

與易語言爬取股票數據相關的資料

熱點內容
姜慧恩演的片 瀏覽:924
最新帶撓腳心的電影 瀏覽:117
劉智苑健身是什麼電影 瀏覽:294
韓國恐怖電影失蹤免費觀看 瀏覽:899
韓劇電影免費看倫理 瀏覽:373
韓國最好看的三極推薦 瀏覽:503
兩個男人一起做鴨子的電影 瀏覽:745
國產恐怖片反派帶著面具拿著菜刀 瀏覽:522
可可托海 電影 瀏覽:472
池恩瑞的作品 瀏覽:18
巨貓電影 瀏覽:178
吃人奶 片段 瀏覽:168
啄木鳥電影都有哪些 瀏覽:298
江湖左手誰演的 瀏覽:670
部隊題材電影軍人可以去影院免費看嗎 瀏覽:564
章子怡 床戲 瀏覽:718
結婚過的男女電影 瀏覽:163
床戲影視 瀏覽:182
想看片卻找不到網站 瀏覽:724
國語電影免費在線 瀏覽:808