爬取期货价格数据的python代码
时间: 2023-09-04 19:08:26 浏览: 120
PYthon 从东方财富网下载期货行情数据的代码
以下是一个简单的 Python 爬虫程序,可以用于爬取大连交易所期货价格数据:
```python
import requests
from bs4 import BeautifulSoup
import pandas as pd
# 设置请求头,模拟浏览器发送请求
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'}
# 设置请求参数
symbol = 'i' # 期货品种代码
start_date = '20210101' # 起始日期
end_date = '20211231' # 结束日期
url = f'http://www.dce.com.cn/publicweb/quotesdata/exportDayQuotesChData.html?dayQuotes.variety={symbol}&dayQuotes.trade_type=0&year={start_date[:4]}&month={start_date[4:6]}&day={start_date[6:]}&exportFlag=txt'
# 发送请求并解析网页
response = requests.get(url, headers=headers)
soup = BeautifulSoup(response.text, 'html.parser')
# 提取价格数据
rows = soup.find_all('tr')[1:-1] # 第一行为表头,最后一行为注释
data = []
for row in rows:
cols = row.find_all('td')
date = cols[0].text.replace('-', '') # 日期格式转换
price = float(cols[2].text)
data.append([date, price])
# 将数据转换成 DataFrame 格式并保存到本地文件
df = pd.DataFrame(data, columns=['date', 'price'])
df.to_csv(f'{symbol}_{start_date}_{end_date}.csv', index=False)
```
需要根据实际情况修改期货品种代码、起始日期和结束日期等参数。此外,还需要根据需要修改数据存储方式和数据处理方式。
阅读全文