• 【python】带你采集基金股票数据并作可视化操作


    前言

    嗨喽,大家好呀~这里是爱看美女的茜茜呐

    又到了学Python时刻~

    开发环境 & 第三方模块:

    • 解释器版本: python 3.8

    • 代码编辑器: pycharm 2021.2

    • requests: pip install requests

    • pyecharts: pip install pyecharts 数据分析

    • pandas: pip install pandas 数据分析

    如何实现案例:

    找到数据来源

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

    实现代码:
    1. 发送请求 通过代码的方式 访问一个网站

    2. 获取数据

    3. 解析数据 从 获取下来的数据内容当中 取出我们需要用到的

    4. 保存数据

    代码展示

    采集数据

    导入模块

    import requests     # 发送请求 第三方模块
    import csv
    
    • 1
    • 2
    f = open('你的文件名字.csv', mode='a', encoding='utf-8', newline='')
    csv_writer = csv.writer(f)
    csv_writer.writerow(['symbol', 'name', 'chg', 'percent', 'current_year_percent', 'volume', 'amount', 'turnover_rate', 'pe_ttm', 'dividend_yield', 'market_capital'])
    
    • 1
    • 2
    • 3

    伪装


    因为代码里有链接,不给过的,所以我截了图,你们可以照上图自行添加

    或点击 蓝色字体 领取完整源码,我都放在这里了。


    发送请求

        response = requests.get(url=url, headers=headers)
    
    • 1

    获取数据

    : 请求成功

    .text: 文本内容 取出来是一个字符串

    .content: 当网页链接为 图片/音频/shi’pin 获取二进制数据

    .json(): 如果当数据是{}所包裹起来的时候 取出来就是字典数据

        json_data = response.json()
    
    • 1

    键:值 键值对

    {“A”: “啊”, “B”: “不”}

    {data: {count: 4940…}, error_code: 0, error_description: “”}

    解析数据

        data_list = json_data['data']['list']
        for i in range(0, len(data_list)):
            symbol = data_list[i]['symbol']
            name = data_list[i]['name']
            chg = data_list[i]['chg']
            percent = data_list[i]['percent']
            current_year_percent = data_list[i]['current_year_percent']
            volume = data_list[i]['volume']
            amount = data_list[i]['amount']
            turnover_rate = data_list[i]['turnover_rate']
            pe_ttm = data_list[i]['pe_ttm']
            dividend_yield = data_list[i]['dividend_yield']
            market_capital = data_list[i]['market_capital']
            print(symbol, name, chg, percent, current_year_percent, volume, amount, turnover_rate, pe_ttm, dividend_yield, market_capital)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    保存数据

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


    👇 👇 👇 更多精彩机密、教程,尽在下方,赶紧点击了解吧~

    资料点击 蓝色字体 自取 ,我都放在这里了。

    文章看不懂,我专门录了对应的视频讲解,本文只是大致展示,视频教程点击上方蓝字

    宁外给大家推荐一个好的教程:

    【48小时搞定全套教程!你和大佬只有一步之遥【python教程】


    尾语 💝

    感谢你观看我的文章呐~本次航班到这里就结束啦 🛬

    希望本篇文章有对你带来帮助 🎉,有学习到一点知识~

    躲起来的星星🍥也在努力发光,你也要努力加油(让我们一起努力叭)。

    最后,博主要一下你们的三连呀(点赞、评论、收藏),不要钱的还是可以搞一搞的嘛~

    不知道评论啥的,即使扣个6666也是对博主的鼓舞吖 💞 感谢 💐

  • 相关阅读:
    【离线/并查集】CF1213 G
    Pytorch实战 | 第P2周:彩色图片识别
    弄懂#if #ifdef #if defined
    Vue 全局事件总线$bus
    论如何直接用EF Core实现创建更新时间、用户审计,自动化乐观并发、软删除和树形查询(上)
    【AI理论学习】CNN模型演变:从VGGNet到EfficientNet
    2022年C等级考试九月一级真题B:成绩判定
    【Linux】Vim
    用HFSS仿真平面线圈的电感量
    ASP.NET Core - 依赖注入(二)
  • 原文地址:https://blog.csdn.net/m0_72282564/article/details/127668791