开发者

Python爬取股票交易数据并可视化展示

开发者 https://www.devze.com 2022-12-05 14:11 出处:网络 作者: 松鼠爱吃饼干
目录开发环境第三方模块爬虫案例的步骤爬虫程序全部代码分析网页导入模块请求数据解析数据翻页保存数据实现效果数据可视化全部代码导入数据读取数据可视化图表效果展示开发环境
目录
  • 开发环境
  • 第三方模块
  • 爬虫案例的步骤
  • 爬虫程序全部代码
    • 分析网页
    • 导入模块
    • 请求数据
    • 解析数据
    • 翻页
    • 保存数据
  • 实现效果
    • 数据可视化全部代码
      • 导入数据
      • 读取数据
      • 可视化图表
      • 效果展示

    开发环境

    解释器版本: www.cppcns.compython 3.8

    代码编辑器: pycharm 2021.2

    第三方模块

    requests: pip install requests

    csv

    爬虫案例的步骤

    1.确定url地址(链接地址)

    2.发送网络请求

    3.数据解析(筛选数据)

    4.数据的保存(数据库(mysql\mongodb\redis), 本地文件)

    爬虫程序全部代码

    分析网页

    打开开发者工具,搜索关键字,找到正确url

    Python爬取股票交易数据并可视化展示

    Python爬取股票交易数据并可视化展示

    导入模块

    import requests     # 发送网络请求
    import csv
    

    请求数据

    url = f'https://xueqiu.com/service/v5/stock/screener/quote/list?page=1&size=30&order=desc&order_by=amount&exchange=CN&market=CN&type=sha&_=1637908787379'
    # 伪装
    headers = {
        # 浏览器伪装
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.www.cppcns.com0.4664.45 Safari/537.36'
    }
    response = requests.get(url, headers=headers)
    json_data = response.json()
    

    解析数据

    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,
            '当前价': data3,
            '涨跌额': data4,
            '涨跌幅': data5,
            '年初至今': data6,
            '成交量': data7,
            '成交额': data8,
            '换手率': data9,
            '市盈率(TTM)': data10,
            '股息率': data11,
            '市值': data12,
        }
        csv_write.writerow(data_dict)
    

    翻页

    对http://www.cppcns.com比1、2、3页数据url,找到规律

    Python爬取股票交易数据并可视化展示

    for page in range(1, 56):
        url = f'https://xueqiu.com/service/v5/stock/screener/quote/list?page={page}&size=30&order=desc&order_by=amount&exchange=CN&market=CN&type=sha&_=1637908787379'
    

    保存数据

    file = open('data2.csv', mode='a', encoding='utf-8', newline='')
    csv_write = csv.DictWriter(file, fieldnames=['股票代码','股票名称','当前价','涨跌额','涨跌幅','年初至今','成交量','成交额','换手率','市盈率(TTM)','股息率','市值'])
    csv_write.writeheader()
    file.close()
    

    实现效果

    Python爬取股票交易数据并可视化展示

    Python爬取股票交易数据并可视化展示

    数据可视化全部代码

    导入数据

    LdpoH
    import pandas as pd
    from pyecharts import options as opts
    from pyecharts.charts import Bar
    

    读取数据

    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(list(df2['股票名称']))
            .add_yaxis("股票成交量情况", list(df2['成交量']))
            .set_global_opts(
            title_opts=opts.TitleOpts(title="成交量图表 - Volume chart"),
            datazoom_opts=opts.DataZoomOpts(),
        )
            .render("data.html")
    )
    
    print('数据可视化结果完成,请在当前目录下查找打开 data.html 文件!')
    

    效果展示

    Python爬取股票交易数据并可视化展示

    以上就是Python爬取股票交易数据并数据可视化的详细内容,更多关于Python股票数据爬取的资料请关注我们其它相关文章!

    0

    精彩评论

    暂无评论...
    验证码 换一张
    取 消

    关注公众号