Python爬取股票資訊,並實現可視化數據
前言
截止2019年年底中國股票投資者數量為15975.24萬戶, 如此多的股民熱衷於炒股,首先拋開炒股技術不說, 那麼多股票數據是不是非常難找, 找到之後是不是看著密密麻麻的數據是不是頭都大了?
今天帶大家爬取雪球平台的股票數據, 並且實現數據可視化
先看下效果圖
基本環境配置
- python 3.6
- pycharm
- requests
- csv
- time
目標地址
//xueqiu.com/hq
爬蟲程式碼
請求網頁
import requests url = '//xueqiu.com/service/v5/stock/screener/quote/list' response = requests.get(url=url, params=params, headers=headers, cookies=cookies) html_data = response.json() #想要完整程式碼的同學請關注微信公眾號:松鼠愛吃餅乾 #發送資訊『股票』即可獲取
解析數據
data_list = html_data['data']['list'] for i in data_list: dit = {} dit['股票程式碼'] = i['symbol'] dit['股票名字'] = i['name'] dit['當前價'] = i['current'] dit['漲跌額'] = i['chg'] dit['漲跌幅/%'] = i['percent'] dit['年初至今/%'] = i['current_year_percent'] dit['成交量'] = i['volume'] dit['成交額'] = i['amount'] dit['換手率/%'] = i['turnover_rate'] dit['市盈率TTM'] = i['pe_ttm'] dit['股息率/%'] = i['dividend_yield'] dit['市值'] = i['market_capital'] print(dit)
保存數據
import csv f = open('股票數據.csv', mode='a', encoding='utf-8-sig', newline='') csv_writer = csv.DictWriter(f, fieldnames=['股票程式碼', '股票名字', '當前價', '漲跌額', '漲跌幅/%', '年初至今/%', '成交量', '成交額', '換手率/%', '市盈率TTM', '股息率/%', '市值']) csv_writer.writeheader() csv_writer.writerow(dit) f.close()
數據分析程式碼
c = ( Bar() .add_xaxis(list(df2['股票名稱'].values)) .add_yaxis("股票成交量情況", list(df2['成交量'].values)) .set_global_opts( title_opts=opts.TitleOpts(title="成交量圖表 - Volume chart"), datazoom_opts=opts.DataZoomOpts(), ) .render("data.html") )
