首页 话题 小组 问答 好文 用户 我的社区 域名交易 唠叨

[教程]Python轻松抓取:揭秘中国股市数据获取全攻略

发布于 2025-12-06 00:30:36
0
829

引言中国股市作为全球第二大股市,拥有着丰富的投资信息和数据。对于投资者和分析师来说,获取准确、及时的数据至关重要。Python作为一种功能强大的编程语言,在数据抓取方面有着广泛的应用。本文将详细介绍如...

引言

中国股市作为全球第二大股市,拥有着丰富的投资信息和数据。对于投资者和分析师来说,获取准确、及时的数据至关重要。Python作为一种功能强大的编程语言,在数据抓取方面有着广泛的应用。本文将详细介绍如何使用Python轻松获取中国股市数据,包括股票行情、财务报表等。

1. 数据来源

在中国股市,常见的数据来源有新浪财经、同花顺、东方财富网等。以下以新浪财经为例进行介绍。

2. 库和工具

在进行数据抓取之前,需要安装以下Python库和工具:

  • requests:用于发送HTTP请求。
  • BeautifulSoup:用于解析HTML文档。
  • pandas:用于数据处理和分析。

安装方法如下:

pip install requests beautifulsoup4 pandas

3. 股票行情数据抓取

以下是一个获取股票行情数据的示例代码:

import requests
from bs4 import BeautifulSoup
import pandas as pd
def get_stock_data(stock_code): """ 获取股票行情数据 :param stock_code: 股票代码 :return: 股票行情DataFrame """ url = f'https://hq.sinajs.cn/list={stock_code}' response = requests.get(url) data = response.text soup = BeautifulSoup(data, 'html.parser') text = soup.text.strip() data_list = text.split(',') data_dict = { '股票名称': data_list[0], '最新价': data_list[3], '涨跌额': data_list[4], '涨跌幅': data_list[5], '今开': data_list[6], '昨收': data_list[7], '成交量': data_list[8], '成交额': data_list[9] } df = pd.DataFrame([data_dict], columns=['股票名称', '最新价', '涨跌额', '涨跌幅', '今开', '昨收', '成交量', '成交额']) return df
# 获取股票行情数据
stock_code = 'sh601398'
df = get_stock_data(stock_code)
print(df)

4. 财务报表数据抓取

财务报表数据通常在上市公司年报和季报中公布。以下是一个获取财务报表数据的示例代码:

import requests
from bs4 import BeautifulSoup
import pandas as pd
def get_financial_data(stock_code, report_type): """ 获取财务报表数据 :param stock_code: 股票代码 :param report_type: 报告类型(年报、季报) :return: 财务报表DataFrame """ url = f'https://finance.sina.com.cn/realstock/company/bk/{stock_code}/index.shtml' response = requests.get(url) soup = BeautifulSoup(response.text, 'html.parser') table = soup.find('table', class_='M tables') rows = table.find_all('tr') headers = [header.text for header in rows[0].find_all('th')] data = [[cell.text for cell in row.find_all('td')] for row in rows[1:]] df = pd.DataFrame(data, columns=headers) df['股票代码'] = stock_code df['报告类型'] = report_type return df
# 获取财务报表数据
stock_code = 'sh601398'
report_type = '年报'
df = get_financial_data(stock_code, report_type)
print(df)

5. 总结

本文介绍了使用Python轻松获取中国股市数据的方法,包括股票行情和财务报表。通过以上示例代码,您可以快速获取所需的数据,为投资和分析提供有力支持。在实际应用中,您可以根据自己的需求进行扩展和改进。

评论
一个月内的热帖推荐
csdn大佬
Lv.1普通用户

452398

帖子

22

小组

841

积分

赞助商广告
站长交流