ToB企服应用市场:ToB评测及商务社交产业平台

标题: 【python】带你采集基金股票数据并作可视化操作 [打印本页]

作者: 八卦阵    时间: 2022-11-3 14:13
标题: 【python】带你采集基金股票数据并作可视化操作
前言

嗨喽,大家好呀~这里是爱看美女的茜茜呐
又到了学Python时刻~
开发环境 & 第三方模块:

==点击 蓝色字体 领取完整源码资料,我都放在这里了。==
如何实现案例:

找到数据来源

静态数据: 数据来源 网页导航栏上的地址
动态数据: 单独分析
实现代码:

代码展示

采集数据

导入模块
  1. import requests     # 发送请求 第三方模块
  2. import csv
  3. f = open('你的文件名字.csv', mode='a', encoding='utf-8', newline='')
  4. csv_writer = csv.writer(f)
  5. csv_writer.writerow(['symbol', 'name', 'chg', 'percent', 'current_year_percent', 'volume', 'amount', 'turnover_rate', 'pe_ttm', 'dividend_yield', 'market_capital'])
复制代码
 
伪装
因为代码里有链接,不给过的,所以我截了图,你们可以照上图自行添加
==或点击 蓝色字体 领取完整源码,我都放在这里了。==
发送请求
  1.     response = requests.get(url=url, headers=headers)
复制代码
获取数据
: 请求成功
.text: 文本内容 取出来是一个字符串
.content: 当网页链接为 图片/音频/shi'pin 获取二进制数据
.json(): 如果当数据是{}所包裹起来的时候 取出来就是字典数据
  1.     json_data = response.json()
复制代码
 
键:值 键值对
{"A": "啊", "B": "不"}
{data: {count: 4940.....}, error_code: 0, error_description: ""}
解析数据
  1.     data_list = json_data['data']['list']
  2.     for i in range(0, len(data_list)):
  3.         symbol = data_list[i]['symbol']
  4.         name = data_list[i]['name']
  5.         chg = data_list[i]['chg']
  6.         percent = data_list[i]['percent']
  7.         current_year_percent = data_list[i]['current_year_percent']
  8.         volume = data_list[i]['volume']
  9.         amount = data_list[i]['amount']
  10.         turnover_rate = data_list[i]['turnover_rate']
  11.         pe_ttm = data_list[i]['pe_ttm']
  12.         dividend_yield = data_list[i]['dividend_yield']
  13.         market_capital = data_list[i]['market_capital']
  14.         print(symbol, name, chg, percent, current_year_percent, volume, amount, turnover_rate, pe_ttm, dividend_yield, market_capital)
复制代码
 
保存数据
  1.         csv_writer.writerow([symbol, name, chg, percent, current_year_percent, volume, amount, turnover_rate, pe_ttm, dividend_yield, market_capital])
复制代码
 
效果展示

数据可视化

导入模块
  1. import pandas as pd         # 做表格数据处理模块 第三方的
  2. from pyecharts.charts import Bar    # 可视化模块 第三方模块
  3. from pyecharts import options as opts   # 可视化模块里面的设置模块(图表样式)
  4. # 1. 读取数据
  5. df=pd.read_csv(r'你的文件名字.csv',engine='python')
  6. x = list(df['name'].values)
  7. y = list(df['volume'].values)
  8. y2 = list(df['amount'].values)
  9. c = (
  10.     Bar()
  11.     .add_xaxis(x[:10])
  12.     .add_yaxis("成交额", y[:10])
  13.     .set_global_opts(
  14.         xaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(rotate=-15)),
  15.         title_opts=opts.TitleOpts(title="Bar-旋转X轴标签", subtitle="解决标签名字过长的问题"),
  16.     )
  17.     .render("bar_rotate_xaxis_label.html")
  18. )
  19. # c = (
  20. #     Bar()
  21. #     .add_xaxis(x[:10])
  22. #     .add_yaxis('成交量情况', y[:10])
  23. #     .add_yaxis('成交额情况', y2[:10])
  24. #     .set_global_opts(
  25. #         title_opts=opts.TitleOpts(title='成交量图表'),
  26. #         datazoom_opts=opts.DataZoomOpts()
  27. #     )
  28. # )
  29. # c.render('成交量图表.html')
复制代码
 

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4