Python爬取东方财富网股票数据
时间: 2025-01-18 10:01:17 浏览: 72
### 实现Python爬虫抓取东方财富网股票数据
为了实现从东方财富网获取股票数据的功能,可以采用`requests`库来发送HTTP请求,并通过`BeautifulSoup`解析HTML文档。下面是一个简单的例子展示如何完成这一目标。
#### 准备工作
确保安装必要的包:
```bash
pip install requests beautifulsoup4 pandas mysql-connector-python
```
#### 获取页面内容并解析
使用`requests.get()`方法访问网站URL,随后利用`BeautifulSoup`对象读取响应体中的文本信息,提取所需的数据字段:
```python
import requests
from bs4 import BeautifulSoup
url = 'https://example.eastmoney.com/stock' # 替换成实际的目标网址
response = requests.get(url)
if response.status_code == 200:
soup = BeautifulSoup(response.text, 'html.parser')
# 假设表格位于<table>标签内
table = soup.find('table', {'class': 'quote'})
rows = table.findAll('tr')[1:] # 跳过表头
else:
print(f"Failed to retrieve data with status code {response.status_code}")
```
此部分代码负责连接至指定网页并定位到包含股票报价的具体位置[^1]。
#### 数据处理与保存
对于获得的信息,可进一步加工整理成结构化的形式以便后续分析或长期存档。这里提供两种常见的存储方式——CSV文件以及关系型数据库(如MySQL)。
##### 存储为CSV文件
借助Pandas简化操作流程,快速导出为逗号分隔值格式:
```python
import pandas as pd
data_list = []
for row in rows:
cols = row.find_all('td')
col_text = [ele.text.strip() for ele in cols]
data_list.append(col_text)
df = pd.DataFrame(data_list)
df.to_csv('./stocks.csv', index=False, header=['Code', 'Name', ...]) # 自定义列名
```
上述脚本会创建一个新的`.csv`文件并将收集来的记录写入其中。
##### 插入到MySQL数据库
建立同远程服务器之间的链接后,执行SQL语句向特定表里添加新条目:
```python
import mysql.connector
conn = mysql.connector.connect(
host="localhost",
user="root",
password="password",
database="finance"
)
cursor = conn.cursor()
insert_query = """
INSERT INTO stocks (code, name,...) VALUES (%s,%s,...);
"""
for item in data_list:
cursor.execute(insert_query, tuple(item))
conn.commit()
cursor.close()
conn.close()
```
这段代码片段展示了怎样将之前搜集好的资料安全地迁移到持久化环境中去。
阅读全文
相关推荐


















