python爬虫上市公司会计报表数据
时间: 2025-01-06 10:35:22 浏览: 53
### 使用Python编写爬虫抓取上市公司会计报表数据
为了实现这一目标,通常会采用`requests`库来发送HTTP请求,并使用`BeautifulSoup`或`lxml`解析HTML文档。对于结构化的网页内容,还可以考虑使用`pandas`读取表格形式的数据。
#### 导入必要的库
首先安装所需的第三方模块:
```bash
pip install requests beautifulsoup4 lxml pandas openpyxl
```
接着导入这些库:
```python
import requests
from bs4 import BeautifulSoup
import pandas as pd
```
#### 获取页面内容
定义函数用于获取指定URL的内容:
```python
def fetch_page(url):
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)',
}
response = requests.get(url, headers=headers)
if response.status_code != 200:
raise Exception(f"Failed to load page {url}")
return response.text
```
#### 解析并提取所需信息
创建一个函数用来定位和抽取特定的财务报告部分:
```python
def parse_financial_statements(html_content):
soup = BeautifulSoup(html_content, "lxml")
tables = []
for table in soup.find_all('table'):
rows = [[td.get_text(strip=True) for td in tr.find_all(['th','td'])]
for tr in table.find_all('tr')]
df = pd.DataFrame(rows[1:], columns=rows[0])
tables.append(df)
return tables
```
#### 存储至Excel文件
最后一步是保存收集到的信息到本地磁盘作为电子表格格式:
```python
def save_to_excel(tables, filename="financial_reports.xlsx"):
with pd.ExcelWriter(filename) as writer:
for i, table in enumerate(tables):
sheet_name = f'Sheet{i+1}'
table.to_excel(writer, index=False, sheet_name=sheet_name)
if __name__ == "__main__":
url = "http://example.com/report-page-url"
html = fetch_page(url)
statements = parse_financial_statements(html)
save_to_excel(statements)
```
上述代码展示了基本框架,实际应用时可能需要针对具体网站调整选择器路径或其他细节[^1]。
阅读全文
相关推荐















