股票网站数据可视化,成为赌神不再是梦!!!


前言

以前喜欢看一些赌神电影,心想要是我有那么厉害的本领就好了,既能赚钱又能装X,O(∩_∩)O哈哈~ ,今天给大家带来一起股票网站数据可视化教程,好好看好好学,万一赚钱了,可别忘了我哦~~~

在这里插入图片描述


1、网页查看

本次爬取目标是雪球网,数据爬取之后进行可视化,方便查看

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

我们查看网页源代码,发现页面中显示的数据在源代码中是没有的,所以数据应该是动态加载出来的
在这里插入图片描述

打开控制台,点击XHR,刷新页面,可见如下请求,该请求正带着我们需要的数据
在这里插入图片描述在这里插入图片描述

我们点击第二页,第三页,可见有发出如下请求,这可以推断出,page的值就是
在这里插入图片描述

OK,分析结束,上代码!!!


2、完整代码

import requests
import json
import csv
import pandas as pd
from pyecharts import options as opts
from pyecharts.charts import Bar

#头信息
headers = {
    
    
    "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.121 Safari/537.36"
}


#最后获取到的数据,我们先写入到csv文件,再进行数据可视化
# mode="a" 表示追加写入
file = open('data.csv', mode="a", encoding='utf-8', newline="")
# fieldnames表头数据
csvWrite = csv.DictWriter(file, fieldnames=['股票代码', '股票名称', '当前价', '涨跌额', '涨跌幅', '年初至今', '成交量', '成交额', '换手率',
                                            '市盈(TTM)', '股息率', '市值'])

# 写入表头数据
csvWrite.writeheader()

#多页爬取,这里我就先爬取10for i in range(1,10):
    print("=========正在爬取第"+str(i)+"页数据==========")
    #拼接url,注意要使用 str
    url = "https://xueqiu.com/service/v5/stock/screener/quote/list?page="+str(i)+"&size=30&order=desc&order_by=amount&exchange=CN&market=CN&type=sha&_=1601168743543"
    #数据返回格式为json,所以要使用.json(),方便之后的数据获取
    response = requests.get(url=url,headers=headers).json()
		
	#参考图1
    for data in response['data']['list']:
        #股票代码
        symbol = data['symbol']
        #股票名称
        name = data['name']
        #当前价
        current = data['current']
        #涨跌额
        chg = data['chg']
        if chg:
            if float(chg) > 0:
                chg = "+" + str(chg)
            else:
                chg = str(chg)
        #涨跌幅
        percent = str(data['percent']) + "%"
        #年初至今
        current_year_percent = str(data['current_year_percent']) + "%"
        #成交量
        volume = data["volume"]
        #成交额
        amount = data['amount']
        #换手率
        turnover_rate = str(data['turnover_rate']) + "%"
        #市盈(TTM)
        pe_ttm = data['pe_ttm']
        #股息率
        dividend_yield = data['dividend_yield']
        if dividend_yield:
            dividend_yield = str(dividend_yield) + "%"
        else:
            dividend_yield = None
        #市值
        market_capital = data['market_capital']
        data_dict = {
    
    '股票代码':symbol,'股票名称':name,'当前价':current,
                     '涨跌额':chg,'涨跌幅':percent,'年初至今':current_year_percent,
                     '成交量':volume,'成交额':amount,'换手率':turnover_rate,
                     '市盈(TTM)':pe_ttm,'股息率':dividend_yield,
                     '市值':market_capital}
		
		#写入到csv中
        csvWrite.writerow(data_dict)


#读取csv文件
data_df = pd.read_csv("data.csv")
df = data_df.dropna()
df1 = df[['股票名称','成交量']]
#取前30条数据
df2 = df1.iloc[:30]


c = (
    Bar(init_opts=opts.InitOpts(width="1500px",height="660px",page_title="股票数据可视化")).add_xaxis(list(df2['股票名称'].values))
    .add_yaxis('股票成交量情况',list(df2['成交量'].values))
    .set_global_opts(
        title_opts=opts.TitleOpts(title="成交量图表"),
        datazoom_opts=opts.DataZoomOpts()
    )
    .render("data.html")
)

3、图片辅助分析

图1
在这里插入图片描述


4、运行结果

在这里插入图片描述


博主会持续更新,有兴趣的小伙伴可以点赞关注收藏下哦,你们的支持就是我创作最大的动力!

几十个爬虫项目宝藏教程,你值得拥有!

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/llllllkkkkkooooo/article/details/108822430