用2345天气网站爬取曲阳县2017年的天气数据,并用csv格式进行保存
时间: 2024-03-31 16:32:08 浏览: 92
好的,以下是使用 Python 爬虫爬取2345天气网站曲阳县2017年历史天气数据并保存为 csv 文件的示例代码:
``` python
import csv
import requests
from bs4 import BeautifulSoup
url_prefix = 'https://tianqi.2345.com/wea_history/69720.htm?y='
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'}
with open('quyang_2017_weather.csv', 'w', newline='', encoding='utf-8') as csvfile:
fieldnames = ['date', 'weather']
writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
writer.writeheader()
for month in range(1, 13):
url = url_prefix + '2017&m=' + str(month)
r = requests.get(url, headers=headers)
r.encoding = 'gbk' # 2345天气网站使用gbk编码
soup = BeautifulSoup(r.text, 'html.parser')
weather_list = soup.select('.tqtongji1 tr')
for weather in weather_list:
date = weather.select('td')[0].text
weather_detail = weather.select('td')[1].text
writer.writerow({'date': date, 'weather': weather_detail})
```
以上代码中,我们使用了循环遍历的方式,分别对2017年的每个月份进行了数据爬取和保存。其余部分与之前的代码类似。
需要注意的是,该代码只爬取了曲阳县的历史天气数据,如果需要爬取其他地区的历史天气数据,需要修改 url 中的地区代码。同时,该代码可能需要较长的时间来完成全部数据的爬取,需要耐心等待。
阅读全文