从数据中看天气变迁:Python获取历史天气数据

前言

嗨喽,大家好呀~这里是爱看美女的茜茜呐

需要知识点 :

  • 动态数据抓包

  • requests发送请求

  • 结构化+非结构化数据解析

开发环境 :

  • python 3.8 运行代码

  • pycharm 2022.3.2 辅助敲代码 专业版

  • requests 发送请求 pip install requests

  • parsel 解析数据 pip install parsel

第三方模块安装方法:

win + R 输入cmd 输入安装命令 pip install 模块名

(如果你觉得安装速度比较慢, 你可以切换国内镜像源)


👇 👇 👇 更多精彩机密、教程,尽在下方,赶紧点击了解吧~

素材、视频教程、完整代码、插件安装教程我都准备好了,直接在文末名片自取就可


需求 :

  1. python代码去访问这个数据来源

  2. 将里面的我们所需要的天气信息提取出来

    所有的数据都在tr里面

  3. 保存天气信息

  4. 不同月份采集 / 年份 / 城市

代码展示

import requests     # 导入用来访问网站的库 第三方库
import parsel       # 第三方库 你的python环境 得安装好了
import csv          # 内置库 不需要安装

# 新建一个csv表格文件
f = open('tianqi.csv', mode='a', encoding='utf-8', newline='')
# 使用csv写入数据
csv_writer = csv.writer(f)
csv_writer.writerow(["日期", "最高温度", "最低温度", "天气", "风向", "城市"])

city_list = [54511, 58362, 59287, 59493, 58457]
for city in city_list:
    city_name = ""
    if city == 54511:
        city_name = "北京"
    elif city == 58362:
        city_name = "上海"
    elif city == 59287:
        city_name = "广州"
    elif city == 59493:
        city_name = "深圳"
    elif city == 58457:
        city_name = "杭州"
    for year in range(2013, 2023):
        for month in range(1, 13):
            # 1. 发送请求
            源码、解答、教程、资料加V:qian97378免费领
            url = f"https://****/Pc/GetHistory?areaInfo%5BareaId%5D=54511&areaInfo%5BareaType%5D=2&date%5Byear%5D={year}&date%5Bmonth%5D={month}"
            response = requests.get(url=url)
            # 2. 获取数据
            json_data = response.json()
            html_data = json_data['data']
            # 网页代码
            # print(html_data)
            select = parsel.Selector(html_data)
            trs = select.css('tr')
            # 什么都不会, 什么都想做?
            # 抱有这种心态一定是做不好的
            # 爬虫是可见即可爬 不能破解 也不准破解
            for tr in trs[1:]:
                tds = tr.css('td::text').getall()
                tds.append(city_name)
                print(tds)
                csv_writer.writerow(tds)

尾语

感谢你观看我的文章呐~本次航班到这里就结束啦 🛬

希望本篇文章有对你带来帮助 🎉,有学习到一点知识~

躲起来的星星🍥也在努力发光,你也要努力加油(让我们一起努力叭)。

最后,宣传一下呀~👇👇👇更多源码、资料、素材、解答、交流皆点击下方名片获取呀👇👇

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值