国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

如何用 python 獲取實(shí)時(shí)的股票數(shù)據(jù)?

這篇具有很好參考價(jià)值的文章主要介紹了如何用 python 獲取實(shí)時(shí)的股票數(shù)據(jù)?。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

需要爬取某個(gè)股票的實(shí)時(shí)數(shù)據(jù),每隔一分鐘爬取一次,并將數(shù)據(jù)保存在Excel文件中。我們使用Python來(lái)完成這項(xiàng)任務(wù)。在完成這任務(wù)之前,我們需要掌握兩個(gè)知識(shí)點(diǎn):Web爬取和Excel文件讀寫(xiě)。

Web爬取

Web爬取是指從網(wǎng)站上獲取特定數(shù)據(jù)的過(guò)程。我們通常使用Python的Requests庫(kù)來(lái)訪(fǎng)問(wèn)網(wǎng)站。網(wǎng)站會(huì)以HTML格式返回相應(yīng)數(shù)據(jù),我們需要使用Beautiful Soup庫(kù)將HTML格式的數(shù)據(jù)轉(zhuǎn)換為Python對(duì)象進(jìn)行操作。

#Excel文件讀寫(xiě)

Python中,我們可以使用OpenPyXL庫(kù)來(lái)讀寫(xiě)Excel文件。使用OpenPyXL,我們可以創(chuàng)建、打開(kāi)、修改、保存Excel文件,讀寫(xiě)單元格、行、列、工作表等。使用OpenPyXL之前,我們需要在系統(tǒng)中安裝OpenPyXL庫(kù)。

在這篇文章中,我們將會(huì)介紹如何使用Python來(lái)獲取實(shí)時(shí)股票數(shù)據(jù)并將數(shù)據(jù)存儲(chǔ)在Excel文件中。我們將介紹三種案例:使用Sina Finance API、使用TuShare獲取股票數(shù)據(jù)、使用爬蟲(chóng)庫(kù)Beautiful Soup爬取Yahoo Finance網(wǎng)站數(shù)據(jù)。

案例一:使用Sina Finance API獲取股票數(shù)據(jù)

Sina Finance是國(guó)內(nèi)較為權(quán)威的股票行情數(shù)據(jù)提供商之一。它提供了全球股票、期貨、外匯、基金、債券、指數(shù)等交易品種的實(shí)時(shí)行情數(shù)據(jù)。它提供API接口以方便用戶(hù)獲取股票數(shù)據(jù)。
本案例中,我們將使用Sina Finance提供的API接口獲取股票數(shù)據(jù)。首先,我們需要安裝sinafinance庫(kù):

pip install sinafinance

接著,我們可以使用如下代碼來(lái)獲取股票實(shí)時(shí)數(shù)據(jù)并保存到Excel文件中。

from sinafinance import SinaFinance

import openpyxl
from openpyxl.styles import Font, Alignment
from openpyxl.utils import column_index_from_string

def get_stock_data(code, save_file):
    sf = SinaFinance()
    data = sf.get_realtime_quotes([code])[code]

    wb = openpyxl.Workbook()
    ws = wb.active

    # 設(shè)置表頭
    header = ['股票代碼', '名稱(chēng)', '最新價(jià)', '漲跌幅', '成交量', '成交額']
    for i in range(len(header)):
        cell = ws.cell(row=1, column=i+1)
        cell.value = header[i]
        cell.font = Font(bold=True)
        cell.alignment = Alignment(horizontal='center')

    # 填充數(shù)據(jù)
    row_num = 2
    for i in range(len(data)):
        cell = ws.cell(row=row_num+i, column=column_index_from_string('A'))
        cell.value = data[i]['code']

        cell = ws.cell(row=row_num+i, column=column_index_from_string('B'))
        cell.value = data[i]['name']

        cell = ws.cell(row=row_num+i, column=column_index_from_string('C'))
        cell.value = float(data[i]['price'])

        cell = ws.cell(row=row_num+i, column=column_index_from_string('D'))
        cell.value = float(data[i]['change_pct'])

        cell = ws.cell(row=row_num+i, column=column_index_from_string('E'))
        cell.value = float(data[i]['volume']) / 100

        cell = ws.cell(row=row_num+i, column=column_index_from_string('F'))
        cell.value = float(data[i]['turnover']) / 10000

    # 設(shè)置列寬
    column_widths = [12, 12, 10, 10, 12, 12]
    for i in range(len(column_widths)):
        ws.column_dimensions[column_index_from_string('A')+i].width = column_widths[i]

    # 保存Excel文件
    wb.save(save_file)

if __name__ == '__main__':
    get_stock_data('sh000001', 'sh000001.xlsx')

我們可以看到,上面的代碼實(shí)現(xiàn)了獲取實(shí)時(shí)股票數(shù)據(jù)的功能,并將數(shù)據(jù)以Excel格式保存。這個(gè)例子演示了如何使用Sina Finance API獲取股票數(shù)據(jù),這是一個(gè)比較快捷方便的方法。

案例二:使用TuShare獲取股票數(shù)據(jù)

TuShare是一個(gè)開(kāi)源的金融數(shù)據(jù)開(kāi)放接口平臺(tái),它能為開(kāi)發(fā)者提供比較豐富的金融數(shù)據(jù)API和數(shù)據(jù)下載。我們可以使用TuShare提供的數(shù)據(jù)接口來(lái)獲取股票數(shù)據(jù)。
首先,我們需要安裝tushare庫(kù):

pip install tushare

接著,我們可以使用如下代碼來(lái)獲取股票實(shí)時(shí)數(shù)據(jù)并保存在Excel文件中。

import tushare as ts

import openpyxl
from openpyxl.styles import Font, Alignment
from openpyxl.utils import column_index_from_string

def get_stock_data(code, save_file):
    data = ts.get_realtime_quotes(code)

    wb = openpyxl.Workbook()
    ws = wb.active

    # 設(shè)置表頭
    header = ['股票代碼', '名稱(chēng)', '最新價(jià)', '漲跌幅', '成交量', '成交額']
    for i in range(len(header)):
        cell = ws.cell(row=1, column=i+1)
        cell.value = header[i]
        cell.font = Font(bold=True)
        cell.alignment = Alignment(horizontal='center')

    # 填充數(shù)據(jù)
    row_num = 2
    for i in range(len(data)):
        cell = ws.cell(row=row_num+i, column=column_index_from_string('A'))
        cell.value = data.iloc[i]['code']

        cell = ws.cell(row=row_num+i, column=column_index_from_string('B'))
        cell.value = data.iloc[i]['name']

        cell = ws.cell(row=row_num+i, column=column_index_from_string('C'))
        cell.value = float(data.iloc[i]['price'])

        cell = ws.cell(row=row_num+i, column=column_index_from_string('D'))
        cell.value = float(data.iloc[i]['changepercent'])

        cell = ws.cell(row=row_num+i, column=column_index_from_string('E'))
        cell.value = float(data.iloc[i]['volume']) / 100

        cell = ws.cell(row=row_num+i, column=column_index_from_string('F'))
        cell.value = float(data.iloc[i]['amount']) / 10000

    # 設(shè)置列寬
    column_widths = [12, 12, 10, 10, 12, 12]
    for i in range(len(column_widths)):
        ws.column_dimensions[column_index_from_string('A')+i].width = column_widths[i]

    # 保存Excel文件
    wb.save(save_file)

if __name__ == '__main__':
    get_stock_data(['000001'], '000001.xlsx')

我們可以看到,上面的代碼實(shí)現(xiàn)了獲取實(shí)時(shí)股票數(shù)據(jù)的功能,并將數(shù)據(jù)以Excel格式保存。這個(gè)例子演示了如何使用TuShare獲取股票數(shù)據(jù),這也是一個(gè)比較方便的方法。

案例三:使用爬蟲(chóng)庫(kù)Beautiful Soup爬取Yahoo Finance網(wǎng)站數(shù)據(jù)

除了使用各種API獲取股票數(shù)據(jù),我們還可以使用爬蟲(chóng)庫(kù)獲取數(shù)據(jù)。Yahoo Finance是一個(gè)提供股票行情數(shù)據(jù)的網(wǎng)站。我們可以使用Beautiful Soup爬蟲(chóng)庫(kù)來(lái)獲取Yahoo Finance上的股票數(shù)據(jù)。

首先,我們需要安裝beautifulsoup4庫(kù):

pip install beautifulsoup4
from bs4 import BeautifulSoup
import requests

import openpyxl
from openpyxl.styles import Font, Alignment
from openpyxl.utils import column_index_from_string

def get_stock_data(code, save_file):
    url = 'https://finance.yahoo.com/quote/{}?p={}'.format(code, code)

    req = requests.get(url)
    html = req.text
    soup = BeautifulSoup(html, 'html.parser')

    data = {}
    data['name'] = soup.find('h1', {'class': 'D(ib) Fz(18px)'}).text
    data['price'] = soup.find('span', {'class': 'Trsdu(0.3s) Fw(b) Fz(36px) Mb(-4px) D(ib)'}).text
    data['change_pct'] = soup.find('span', {'class': 'Trsdu(0.3s) Fw(500) Pstart(10px) Fz(24px) C($positiveColor)'}).text

    wb = openpyxl.Workbook()
    ws = wb.active

    # 設(shè)置表頭
    header = ['名稱(chēng)', '最新價(jià)', '漲跌幅']
    for i in range(len(header)):
        cell = ws.cell(row=1, column=i+1)
        cell.value = header[i]
        cell.font = Font(bold=True)
        cell.alignment = Alignment(horizontal='center')

    # 填充數(shù)據(jù)
    row_num = 2
    cell = ws.cell(row=row_num, column=column_index_from_string('A'))
    cell.value = data['name']

    cell = ws.cell(row=row_num, column=column_index_from_string('B'))
    cell.value = float(data['price'])

    cell = ws.cell(row=row_num, column=column_index_from_string('C'))
    cell.value = float(data['change_pct'].strip('%'))

    # 設(shè)置列寬
    column_widths = [20, 10, 10]
    for i in range(len(column_widths)):
        ws.column_dimensions[column_index_from_string('A')+i].width = column_widths[i]

    # 保存Excel文件
    wb.save(save_file)

if __name__ == '__main__':
    get_stock_data('AAPL', 'AAPL.xlsx')

我們可以看到,上面的代碼實(shí)現(xiàn)了獲取實(shí)時(shí)股票數(shù)據(jù)的功能,并將數(shù)據(jù)以Excel格式保存。這個(gè)例子演示了如何使用Beautiful Soup庫(kù)獲取股票數(shù)據(jù),這也是一個(gè)比較靈活的方法。

通過(guò)上面幾個(gè)例子,我們展示了如何使用Python獲取實(shí)時(shí)股票數(shù)據(jù),并將數(shù)據(jù)以Excel格式保存。這是一個(gè)比較常見(jiàn)的任務(wù),可以幫助我們進(jìn)行股票分析和決策。同時(shí),我們也可以發(fā)現(xiàn),Python尤其是各種數(shù)據(jù)處理庫(kù)的應(yīng)用,可以帶給我們極大的便利,提高我們的工作效率。

添聞提供的思路僅供參考。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-829230.html

到了這里,關(guān)于如何用 python 獲取實(shí)時(shí)的股票數(shù)據(jù)?的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶(hù)投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • python爬蟲(chóng)進(jìn)階篇:Scrapy中使用Selenium+Firefox瀏覽器爬取滬深A(yù)股股票行情

    上篇記錄了Scrapy搭配selenium的使用方法,有了基本的了解后我們可以將這項(xiàng)技術(shù)落實(shí)到實(shí)際需求中。目前很多股票網(wǎng)站的行情信息都是動(dòng)態(tài)數(shù)據(jù),我們可以用Scrapy+selenium對(duì)股票進(jìn)行實(shí)時(shí)采集并持久化,再進(jìn)行數(shù)據(jù)分析、郵件通知等操作。 詳情請(qǐng)看上篇筆記 items middlewares setti

    2024年02月04日
    瀏覽(29)
  • 百度松果菁英班——機(jī)器學(xué)習(xí)實(shí)踐六:股票行情爬取與分析

    百度松果菁英班——機(jī)器學(xué)習(xí)實(shí)踐六:股票行情爬取與分析

    飛槳AI Studio星河社區(qū)-人工智能學(xué)習(xí)與實(shí)訓(xùn)社區(qū) 這篇文章好像有點(diǎn)大,所以上邊網(wǎng)頁(yè)點(diǎn)進(jìn)去是看不到的,進(jìn)入環(huán)境之后就能看了 定義了一個(gè)函數(shù) getHtml(url) ,用于獲取指定URL頁(yè)面的HTML內(nèi)容。使用 requests.get() 方法發(fā)送GET請(qǐng)求,通過(guò)fake_useragent生成隨機(jī)的User-Agent來(lái)偽裝請(qǐng)求頭,避

    2024年04月14日
    瀏覽(21)
  • 打通選股環(huán)節(jié)和行情顯示鏈路!股票量化分析工具QTYX-V2.5.1

    打通選股環(huán)節(jié)和行情顯示鏈路!股票量化分析工具QTYX-V2.5.1

    目前股票量化分析工具QTYX已經(jīng)打通了形態(tài)驅(qū)動(dòng)選股和數(shù)據(jù)驅(qū)動(dòng)選股之間的鏈路。比如雙底選股、RPS選股、盤(pán)整平臺(tái)突破選股得到的數(shù)據(jù),可以疊加上財(cái)務(wù)數(shù)據(jù)、基本面數(shù)據(jù)、基金持倉(cāng)數(shù)據(jù),然后用條件表達(dá)式進(jìn)行多因子綜合排序,從而篩選出優(yōu)質(zhì)股票。 如果要更進(jìn)一步提高

    2024年02月11日
    瀏覽(18)
  • AI量化炒股是如何獲取L2實(shí)時(shí)行情數(shù)據(jù)的呢?

    AI量化炒股是如何獲取L2實(shí)時(shí)行情數(shù)據(jù)的呢?

    現(xiàn)在先說(shuō)說(shuō)證券行情吧。 1。國(guó)外的股票行情我就不談了,這個(gè)我不是很了解,今天我來(lái)說(shuō)說(shuō)國(guó)內(nèi)兩大證券交易所,上交所和深交所兩大交易所。 上交所的L1和深交所的L1行情,狹義的說(shuō)就是五檔行情,還是比較好獲取,渠道很多,但是質(zhì)量參差不齊。我說(shuō)說(shuō)質(zhì)量稍微好點(diǎn)的,

    2024年01月20日
    瀏覽(20)
  • Python獲取全部股票數(shù)據(jù)

    Python獲取全部股票數(shù)據(jù)

    目前整個(gè)滬深京A股市場(chǎng)總共有5000余支股票,那么我們?cè)趺茨塬@取到這些股票的數(shù)據(jù)(股價(jià)、市值、市盈率、市凈率等)呢? 小編常用的有三個(gè)網(wǎng)站,分別是東方財(cái)富、同花順、雪球,請(qǐng)自行查閱。 我們以東方財(cái)富為例,打開(kāi)東方財(cái)富行情中心,找到全部股票數(shù)據(jù)后,找到對(duì)

    2024年02月15日
    瀏覽(20)
  • 通過(guò)python 獲取股票數(shù)據(jù)的API接口

    用法:?ContextInfo.get_bar_timetag (index)。 釋義:獲取當(dāng)前K線(xiàn)對(duì)應(yīng)時(shí)間的時(shí)間戳。 參數(shù):number:K線(xiàn)索引號(hào)。 返回:number。 示例: 用法:ContextInfo.get_ sector(sector, realtime)。 釋義:獲取板塊成份股,只支持取指數(shù)成份股。

    2024年02月11日
    瀏覽(23)
  • chatgpt賦能python:Python如何獲取股票數(shù)據(jù)——詳細(xì)介紹

    Python作為一款專(zhuān)業(yè)的編程語(yǔ)言,其應(yīng)用領(lǐng)域十分廣泛,其中之一就是股票數(shù)據(jù)的獲取。本文將詳細(xì)介紹Python如何獲取股票數(shù)據(jù)的方法,幫助大家快速獲取所需的股票信息。 pandas-datareader是一款很受歡迎的Python庫(kù),可以用來(lái)從多個(gè)數(shù)據(jù)源獲取金融數(shù)據(jù)。使用這個(gè)庫(kù)可以輕松獲取

    2024年02月11日
    瀏覽(28)
  • Python獲取股票數(shù)據(jù)——以滬深300成分股為例

    Python獲取股票數(shù)據(jù)——以滬深300成分股為例

    需求是下載比如從2020-01-01到2022-12-31區(qū)間的滬深300成分股每支股票的日K線(xiàn)數(shù)據(jù),沒(méi)錯(cuò)這是個(gè)面板數(shù)據(jù),原本以為直接通過(guò)Python接口可以直接下載到,因?yàn)橹罢业纳献C綜指啥的用R的pedquant都是直接獲取的(看來(lái)因?yàn)槭菃沃В?搗鼓了半天,還是我想的簡(jiǎn)單了…… 試過(guò)Akshare、

    2024年03月21日
    瀏覽(21)
  • python金融數(shù)據(jù)分析和可視化--03利用Akshare獲取股票數(shù)據(jù)

    AKShare 是基于 Python 的財(cái)經(jīng)數(shù)據(jù)接口庫(kù),目的是實(shí)現(xiàn)對(duì)股票、期貨、期權(quán)、基金、外匯、債券、指數(shù)、加密貨幣等金融產(chǎn)品的基本面數(shù)據(jù)、實(shí)時(shí)和歷史行情數(shù)據(jù)、衍生數(shù)據(jù)從數(shù)據(jù)采集、數(shù)據(jù)清洗到數(shù)據(jù)落地的一套工具,主要用于學(xué)術(shù)研究目的。 AKShare 的特點(diǎn)是獲取的是相對(duì)權(quán)威

    2024年02月05日
    瀏覽(35)
  • 如何用Python對(duì)股票數(shù)據(jù)進(jìn)行LSTM神經(jīng)網(wǎng)絡(luò)和XGboost機(jī)器學(xué)習(xí)預(yù)測(cè)分析(附源碼和詳細(xì)步驟),學(xué)會(huì)的小伙伴們說(shuō)不定就成為炒股專(zhuān)家一夜暴富了

    如何用Python對(duì)股票數(shù)據(jù)進(jìn)行LSTM神經(jīng)網(wǎng)絡(luò)和XGboost機(jī)器學(xué)習(xí)預(yù)測(cè)分析(附源碼和詳細(xì)步驟),學(xué)會(huì)的小伙伴們說(shuō)不定就成為炒股專(zhuān)家一夜暴富了

    最近調(diào)研了一下我做的項(xiàng)目受歡迎程度,大數(shù)據(jù)分析方向竟然排第一,尤其是這兩年受疫情影響,大家都非常擔(dān)心自家公司裁員或倒閉,都想著有沒(méi)有其他副業(yè)搞搞或者炒炒股、投資點(diǎn)理財(cái)產(chǎn)品,未雨綢繆,所以不少小伙伴要求我這邊分享下關(guān)于股票預(yù)測(cè)分析的技巧。 基于股

    2024年02月02日
    瀏覽(21)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包