如何使用python爬取近6个月内,每天的中行外汇牌价中最接近15:00的中行折算价,存入excel中并保存在桌面
时间: 2023-05-19 12:06:57 浏览: 87
您可以使用Python中的requests和BeautifulSoup库来爬取中行外汇牌价数据,并使用pandas库将数据存入Excel文件中。以下是一个示例代码:
```python
import requests
from bs4 import BeautifulSoup
import pandas as pd
import os
# 设置请求头
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'}
# 获取中行外汇牌价页面
url = 'http://srh.bankofchina.com/search/whpj/search.jsp'
response = requests.get(url, headers=headers)
# 解析页面
soup = BeautifulSoup(response.text, 'html.parser')
# 获取表格数据
table = soup.find('table', {'class': 'BOC_main publish'})
rows = table.find_all('tr')
# 获取表头
header = [th.text.strip() for th in rows[0].find_all('th')]
# 获取每天最接近15:00的中行折算价
data = []
for row in rows[1:]:
cells = row.find_all('td')
if len(cells) == len(header):
date = cells[0].text.strip()
time = cells[1].text.strip()
if time == '15:00':
currency = cells[2].text.strip()
buy_rate = cells[3].text.strip()
sell_rate = cells[4].text.strip()
data.append([date, currency, buy_rate, sell_rate])
# 将数据存入Excel文件
df = pd.DataFrame(data, columns=['日期', '货币', '现汇买入价', '现钞买入价'])
desktop_path = os.path.join(os.path.expanduser("~"), 'Desktop')
file_path = os.path.join(desktop_path, '中行外汇牌价.xlsx')
df.to_excel(file_path, index=False)
```
运行以上代码后,您将在桌面上找到一个名为“中行外汇牌价.xlsx”的Excel文件,其中包含了近6个月内每天最接近15:00的中行折算价数据。
阅读全文