python爬取历年天气数据存入csv文件
时间: 2025-06-21 20:26:50 浏览: 10
在Python中爬取历年天气数据并将其保存到CSV文件,通常需要结合网络请求库(如requests)、HTML解析库(如BeautifulSoup或lxml)以及CSV操作库(如pandas)。以下是一个基本步骤的概述:
1. **确定目标网站**:首先,你需要找到提供所需天气数据的可靠公开API或网站。如果没有API,可能是网页形式,需要抓取。
2. **获取HTML源码**:使用requests库发送HTTP请求获取页面内容,如果是网页,则使用`response.text`获取HTML源码。
3. **解析HTML**:利用BeautifulSoup或其他解析工具,提取出包含天气数据的部分。例如,查找特定的CSS选择器或者XPath表达式来定位数据元素。
4. **处理数据**:将获取的数据结构化,可能涉及到日期、温度等信息的提取和清洗。
5. **存储到CSV**:使用pandas库创建DataFrame,然后调用`to_csv()`函数将数据写入CSV文件。确保设置好文件路径和适当的列名。
```python
import requests
from bs4 import BeautifulSoup
import pandas as pd
# Step 1: 网址和API endpoint
url = "https://example.com/weather-data" # 替换为你实际的目标URL
# Step 2: 发送请求并获取响应
response = requests.get(url)
# Step 3: 解析HTML
soup = BeautifulSoup(response.text, 'html.parser')
data_elements = soup.find_all('div', class_='weather-data') # 示例,根据实际情况修改
# Step 4: 提取并清理数据
parsed_data = []
for element in data_elements:
date = element.find('span', class_='date').text.strip()
temperature = element.find('span', class_='temperature').text.strip()
parsed_data.append([date, temperature])
# Step 5: 导入到DataFrame并写入CSV
df_weather = pd.DataFrame(parsed_data, columns=['Date', 'Temperature'])
df_weather.to_csv('历年天气数据.csv', index=False)
```
阅读全文
相关推荐













