Python采集股票數(shù)據(jù)并制作可視化柱狀圖
前言
嗨嘍!大家好呀,這里是魔王~
雪球,聰明的投資者都在這里 - 4300萬(wàn)投資者都在用的投資社區(qū),
滬深港美全球市場(chǎng)實(shí)時(shí)行情,股票基金債券免費(fèi)資訊,與投資高手實(shí)戰(zhàn)交流。
模塊使用
requests >>> pip install requests (數(shù)據(jù)請(qǐng)求 第三方模塊)
re # 正則表達(dá)式 去匹配提取數(shù)據(jù)
json
pandas
pyecharts
開發(fā)環(huán)境
Python 3.8 解釋器
Pycharm 2021.2 版本
代碼實(shí)現(xiàn)步驟
- 發(fā)送請(qǐng)求 訪問網(wǎng)站
- 獲取數(shù)據(jù)
- 解析數(shù)據(jù)(提取數(shù)據(jù))
- 保存數(shù)據(jù)
- 做柱狀圖 簡(jiǎn)單的可視化
代碼
# 1. 發(fā)送請(qǐng)求 訪問網(wǎng)站
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.71 Safari/537.36'
}
url = 'https://xueqiu.com/service/v5/stock/screener/quote/list?page=1&size=30&order=desc&order_by=amount&exchange=CN&market=CN&type=sha&_=1641730868838'
response = requests.get(url=url, headers=headers)
# 2. 獲取數(shù)據(jù)
json_data = response.json()
# 3. 數(shù)據(jù)解析(篩選數(shù)據(jù))
data_list = json_data['data']['list']
for data in data_list:
data1 = data['symbol']
data2 = data['name']
data3 = data['current']
data4 = data['chg']
data5 = data['percent']
data6 = data['current_year_percent']
data7 = data['volume']
data8 = data['amount']
data9 = data['turnover_rate']
data10 = data['pe_ttm']
data11 = data['dividend_yield']
data12 = data['market_capital']
print(data1, data2, data3, data4, data5, data6, data7, data8, data9, data10, data11, data12)
data_dict = {
'股票代碼': data1,
'股票名稱': data2,
'當(dāng)前價(jià)': data3,
'漲跌額': data4,
'漲跌幅': data5,
'年初至今': data6,
'成交量': data7,
'成交額': data8,
'換手率': data9,
'市盈率(TTM)': data10,
'股息率': data11,
'市值': data12,
}
csv_write.writerow(data_dict)
4. 保存地址
file = open('data2.csv', mode='a', encoding='utf-8', newline='')
csv_write = csv.DictWriter(file, fieldnames=['股票代碼','股票名稱','當(dāng)前價(jià)','漲跌額','漲跌幅','年初至今','成交量','成交額','換手率','市盈率(TTM)','股息率','市值'])
csv_write.writeheader()
運(yùn)行效果


數(shù)據(jù)可視化
data_df = pd.read_csv('data2.csv')
df = data_df.dropna()
df1 = df[['股票名稱', '成交量']]
df2 = df1.iloc[:20]
print(df2['股票名稱'].values)
print(df2['成交量'].values)
c = (
Bar()
.add_xaxis(df2['股票名稱'].values.tolist())
.add_yaxis("股票成交量情況", df2['成交量'].values.tolist())
.set_global_opts(
title_opts=opts.TitleOpts(title="成交量圖表 - Volume chart"),
datazoom_opts=opts.DataZoomOpts(),
)
.render("data.html")
)
print('數(shù)據(jù)可視化結(jié)果完成,請(qǐng)?jiān)诋?dāng)前目錄下查找打開 data.html 文件!')


以上就是Python采集股票數(shù)據(jù)并制作可視化柱狀圖的詳細(xì)內(nèi)容,更多關(guān)于Python采集股票數(shù)據(jù)的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Flask SQLAlchemy一對(duì)一,一對(duì)多的使用方法實(shí)踐
Flask-SQLAlchemy一對(duì)一,一對(duì)多的使用方法實(shí)踐,需要的朋友可以參考下2013-02-02
使用python爬蟲實(shí)現(xiàn)抓取動(dòng)態(tài)加載數(shù)據(jù)
這篇文章主要給大家介紹了如何用python爬蟲抓取豆瓣電影“分類排行榜”中的電影數(shù)據(jù),比如輸入“犯罪”則會(huì)輸出所有犯罪影片的電影名稱、評(píng)分,文中通過代碼示例和圖文介紹的非常詳細(xì),需要的朋友可以參考下2024-01-01
用Python給圖像算法做個(gè)簡(jiǎn)單應(yīng)用界面
這篇文章主要介紹了用Python給圖像算法做個(gè)簡(jiǎn)單應(yīng)用界面,幫助大家更好的理解和學(xué)習(xí)使用python開發(fā)gui,感興趣的朋友可以了解下2021-05-05
幾個(gè)提升Python運(yùn)行效率的方法之間的對(duì)比
這篇文章主要介紹了幾個(gè)提升Python運(yùn)行效率的方法之間的對(duì)比,包括使用Cython和PyPy等這些熱門方法,需要的朋友可以參考下2015-04-04
創(chuàng)建Shapefile文件并寫入數(shù)據(jù)的例子
今天小編就為大家分享一篇?jiǎng)?chuàng)建Shapefile文件并寫入數(shù)據(jù)的例子,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧2019-11-11
基于Python的接口自動(dòng)化讀寫excel文件的方法
這篇文章主要介紹了基于Python的接口自動(dòng)化讀寫excel文件,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-01-01
pandas創(chuàng)建DataFrame的方式小結(jié)
今天給大家整理了pandas創(chuàng)建DataFrame的方式小結(jié),現(xiàn)在我們就來(lái)看看這三種生成Dataframe的方式,每種方式通過實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友參考下吧2021-09-09

