当前位置:   article > 正文

Python获取全部股票数据_python获取股票数据

python获取股票数据

目前整个沪深京A股市场总共有5000余支股票,那么我们怎么能获取到这些股票的数据(股价、市值、市盈率、市净率等)呢?

小编常用的有三个网站,分别是东方财富、同花顺、雪球,请自行查阅。

我们以东方财富为例,打开东方财富行情中心,找到全部股票数据后,找到对应的接口URL和请求数据等。

接下来,使用Python来获取全部股票数据,代码如下:

  1. import requests
  2. url = 'http://27.push2.eastmoney.com/api/qt/clist/get'
  3. for i in range(1, 10):
  4. data = {
  5. 'fields': 'f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f12,f13,f14,f15,f16,f17,f18,f20,f21,f23,f24,f25,f22,f11,f62,f128,f136,f115,f152',
  6. 'pz': 1000, # 每页条数
  7. 'pn': i, # 页码
  8. 'fs': 'm:0 t:6,m:0 t:80,m:1 t:2,m:1 t:23,m:0 t:81 s:2048'
  9. }
  10. response = requests.get(url, data)
  11. response_json = response.json()
  12. print(i, response_json)
  13. # 返回数据为空时停止循环
  14. if response_json['data'] is None:
  15. break
  16. for j, k in response_json['data']['diff'].items():
  17. code = k['f12'] # 代码
  18. name = k['f14'] # 名称
  19. price = k['f2'] # 股价
  20. pe = k['f9'] # 动态市盈率
  21. pb = k['f23'] # 市净率
  22. total_value = k['f20'] # 总市值
  23. currency_value = k['f21'] # 流通市值
  24. price = round(price/100, 2) # 价格转换为正确值(保留2位小数)
  25. pe = round(pe/100, 2) # 市盈率转换为正确值(保留2位小数)
  26. pb = round(pb/100, 2) # 市净率转换为正确值(保留2位小数)
  27. total_value = round(total_value / 100000000, 2) # 总市值转换为亿元(保留2位小数)
  28. currency_value = round(currency_value / 100000000, 2) # 流通市值转换为亿元(保留2位小数)
  29. print('代码: %s, 名称: %s, 现价: %s, 动态市盈率: %s, 市净率: %s, 总市值: %s亿, 流通市值: %s
本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号