目录
频道首页
基于Python的四市天气数据爬取与可视化分析
下载
18
收藏
0
201901020009 最近修改于 2024-05-03 22:39:25
                    # 四市天气数据爬取与可视化分析

探索四个城市的天气状况!使用Python爬虫获取秦皇岛、济南、北京和深圳的天气数据,然后利用数据可视化技术展示这些城市的气候趋势。通过绘制精美的图表和图形,深入了解最高温度、最低温度和降水量等指标的变化。分析城市之间的相似性和差异性,揭示季节性变化和气候特征。无论是旅游规划还是气象研究,这个项目将为您提供有价值的见解。发现城市天气的奥秘,带您走进数据驱动的气象世界!

爬虫部分

数据来源:https://tianqi.2345.com/wea_history/54449.htm

数据说明:

作者想要爬取的数据为2013年至2022年十年间,秦皇岛、北京、济南和深圳四个城市的天气数据,包括日期,最高温度,最低温度,天气,风向。

代码:

import requests     # 发送请求要用的模块 需要额外安装的
import parsel
import csv

f = open('天气1.csv', mode='a', encoding='utf-8', newline='')
csv_writer = csv.writer(f)
csv_writer.writerow(['日期', '最高温度', '最低温度', '天气', '风向', '城市'])
city_list = [ 54449,54511, 54823, 59493]
for city in city_list:
    city_name = ''
    if city == 54449:
        city_name = '秦皇岛'
    elif city == 54511:
        city_name = '北京'
    elif city == 54823:
        city_name = '济南'
    elif city == 59493:
        city_name = '深圳'
    for year in range(2013, 2023):
        for month in range(1, 13):
            url = f'https://tianqi.2345.com/Pc/GetHistory?areaInfo%5BareaId%5D={city}&areaInfo%5BareaType%5D=2&date%5Byear%5D={year}&date%5Bmonth%5D={month}'
            # 1. 发送请求
            response = requests.get(url=url)
            # 2. 获取数据
            html_data = response.json()['data']
            # 3. 解析数据
            select = parsel.Selector(html_data)
            trs = select.css('.history-table tr')   # 拿到31个tr
            for tr in trs[1:]:                      # 第一个表头不要
                tds = tr.css('td::text').getall()   # 针对每个tr进行提取 取出所有的td里面的内容
                tds.append(city_name)               # 把城市追加到列表里面
                print(tds)
                # 4. 保存数据
                csv_writer.writerow(tds)

最终生成一个名为天气1.csv的文件

内容大纲
批注笔记
基于Python的四市天气数据爬取与可视化分析
CodeBot
z
z
z
z
主页
会议室
代码
文章
云文档
看板