从天气网上爬取2022年7月和8月重庆市的天气数据,将天气情况、最高气温、最低气温提取出来并保存到一个csv文件中
时间: 2024-06-08 10:06:01 浏览: 106
好的,这个任务可以使用Python的爬虫库BeautifulSoup和requests来完成。以下是实现代码:
```python
import requests
from bs4 import BeautifulSoup
import csv
# 设置请求头,模拟浏览器访问
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'}
# 发送GET请求,获取HTML页面
url = 'http://lishi.tianqi.com/chongqing/202207.html'
response = requests.get(url, headers=headers)
# 解析HTML页面
soup = BeautifulSoup(response.text, 'html.parser')
# 获取表格中的数据
table = soup.find_all('table', class_='t1')[0]
rows = table.find_all('tr')[1:]
# 保存数据到csv文件
with open('chongqing_weather.csv', 'w', newline='', encoding='utf-8-sig') as f:
writer = csv.writer(f)
writer.writerow(['日期', '天气情况', '最高气温', '最低气温'])
for row in rows:
cols = row.find_all('td')
date = cols[0].get_text().strip()
weather = cols[1].get_text().strip()
max_temp = cols[2].get_text().strip()
min_temp = cols[3].get_text().strip()
writer.writerow([date, weather, max_temp, min_temp])
# 发送GET请求,获取HTML页面
url = 'http://lishi.tianqi.com/chongqing/202208.html'
response = requests.get(url, headers=headers)
# 解析HTML页面
soup = BeautifulSoup(response.text, 'html.parser')
# 获取表格中的数据
table = soup.find_all('table', class_='t1')[0]
rows = table.find_all('tr')[1:]
# 保存数据到csv文件
with open('chongqing_weather.csv', 'a', newline='', encoding='utf-8-sig') as f:
writer = csv.writer(f)
for row in rows:
cols = row.find_all('td')
date = cols[0].get_text().strip()
weather = cols[1].get_text().strip()
max_temp = cols[2].get_text().strip()
min_temp = cols[3].get_text().strip()
writer.writerow([date, weather, max_temp, min_temp])
```
运行以上代码后,将会在当前目录下生成一个名为“chongqing_weather.csv”的文件,其中包含了2022年7月和8月重庆市的天气情况、最高气温和最低气温数据。
阅读全文