利用Python获取公司股票的利润走势并生成图表

今天在研究通过财报数据获取公司的利润走势图,使用python爬取网页数据就可以做到了

  1. 首先是获取网易股票的财报数据
  2. 然后解析了十年的数据,用总利润减去所得税获取当年利润
  3. 然后得到了年份和利润的两个数组
  4. 根据这两个数组通过plt组件画出折线图

生成的折线图:
在这里插入图片描述

全部代码如下:

# 股票利润计算
import requests
from bs4 import BeautifulSoup
import matplotlib.pyplot as plt
# 股票代码
stock = '000895'
# 通过网易股票的财报获取数据
html_str = f'http://quotes.money.163.com/f10/lrb_{stock}.html?type=year'
# request请求
res = requests.get(html_str)
soup = BeautifulSoup(res.text, 'html.parser')
# html解析获取年份
year_list = soup.find('table', class_='scr_table').findAll('tr')[0].findAll('th')
# 获取总利润
profit_total_list = soup.find('table', class_='scr_table').findAll('tr')[37].findAll('td')
# 获取所得税
tax_expense_list = soup.find('table', class_='scr_table').findAll('tr')[38].findAll('td')
year = []
data = []
# 用总利润减去所得税获得当年利润,加入数组
for i in range(len(profit_total_list)):
    year.append(year_list[i].get_text().split('-')[0])
    data.append(int(profit_total_list[i].get_text().replace(',', '')) - int(tax_expense_list[i].get_text().replace(',', '')))
year.reverse()
data.reverse()
# 线图
# 调用plt。plot来画图,横轴纵轴两个参数即可
plt.figure(figsize=(10, 6))
plt.title(stock)
plt.plot(year, data)

# 用show展现出来图
plt.show()
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值