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


前言

本文爬虫源码已由 GitHub https://github.com/2335119327/PythonSpider 已经收录(内涵更多本博文没有的爬虫,有兴趣的小伙伴可以看看),之后会持续更新,欢迎Star

以前喜欢看一些赌神电影,心想要是我有那么厉害的本领就好了,既能赚钱又能装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、运行结果

在这里插入图片描述



最后

我是 Code皮皮虾,一个热爱分享知识的 皮皮虾爱好者,未来的日子里会不断更新出对大家有益的博文,期待大家的关注!!!

创作不易,如果这篇博文对各位有帮助,希望各位小伙伴可以一键三连哦!,感谢支持,我们下次再见~~~

分享大纲

大厂面试题专栏


Java从入门到入坟学习路线目录索引


开源爬虫实例教程目录索引

更多精彩内容分享,请点击 Hello World (●’◡’●)

本文爬虫源码已由 GitHub https://github.com/2335119327/PythonSpider 已经收录(内涵更多本博文没有的爬虫,有兴趣的小伙伴可以看看),之后会持续更新,欢迎Star

在这里插入图片描述

  • 20
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值