用2345天气网站爬取曲阳县2017年1月的天气数据,并用csv格式进行保存
时间: 2024-03-31 16:32:14 浏览: 130
好的,以下是使用 Python 爬虫爬取2345天气网站曲阳县2017年1月份历史天气数据并保存为 csv 文件的示例代码:
``` python
import csv
import requests
from bs4 import BeautifulSoup
url = 'https://tianqi.2345.com/wea_history/69720.htm?y=2017&m=1'
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'}
r = requests.get(url, headers=headers)
r.encoding = 'gbk' # 2345天气网站使用gbk编码
soup = BeautifulSoup(r.text, 'html.parser')
weather_list = soup.select('.tqtongji1 tr')
with open('quyang_2017_01_weather.csv', 'w', newline='', encoding='utf-8') as csvfile:
fieldnames = ['date', 'weather']
writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
writer.writeheader()
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})
```
以上代码中,我们向2345天气网站发送了一个 GET 请求,获取了曲阳县2017年1月份的历史天气数据页面。然后,使用 BeautifulSoup 库解析网页源代码,提取出了天气数据,并将其保存到名为“quyang_2017_01_weather.csv”的 csv 文件中。
需要注意的是,csv 文件的编码需要设置为 utf-8,否则可能会出现编码问题。
阅读全文