用python爬虫获取天气
时间: 2024-01-28 21:12:51 浏览: 78
以下是使用Python爬虫获取天气的示例代码:
```python
import requests
import csv
def getHTMLtext(url):
"""请求获得网页内容"""
try:
r = requests.get(url, timeout=30)
r.raise_for_status()
r.encoding = r.apparent_encoding
print("Success")
return r.text
except:
print("Fail")
return ""
def write_to_csv(file_name, data, day=14):
"""保存为csv文件"""
with open(file_name, 'a', errors='ignore', newline='') as f:
if day == 14:
header = ['日期', '城市', '天气', '最低气温', '最高气温', '风向1', '风向2', '风级']
else:
header = ['小时', '城市', '温度', '风力方向', '风级', '降水量', '相对湿度', '空气质量']
f_csv = csv.writer(f)
f_csv.writerow(header)
f_csv.writerows(data)
# 爬取天气数据
url = "http://www.weather.com.cn/weather/101180101.shtml"
html = getHTMLtext(url)
# 解析数据并保存为csv文件
# 这里省略解析过程,假设解析得到的数据为data_all
data_all = [['2021-01-01', '郑州', '晴', '0℃', '10℃', '东风', '南风', '3级'],
['2021-01-02', '郑州', '多云', '2℃', '12℃', '东风', '南风', '2级'],
['2021-01-03', '郑州', '阴', '1℃', '8℃', '东风', '南风', '1级']]
write_to_csv('河南天气.csv', data_all, 1)
```
阅读全文