【python】带你对近期天气数据进行采集做可视化~

前言

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

又到了学Python时刻~


这里写目录标题

    • 前言
    • 知识点:
    • 开发环境:
    • 代码实现流程:
    • 采集
    • 数据可视化
    • 尾语


知识点:

  • 动态数据抓包

  • requests发送请求

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

开发环境:

  • python 3.8 运行代码 anaconda: jupyter notebook

  • pycharm 2021.2 辅助敲代码

  • requests 发送请求 pip install requests

  • parsel 解析数据 pip install parsel

代码实现流程:

  1. 发送请求

  2. 获取数据

  3. 解析数据

  4. 保存数据

采集

源码点击 蓝色字体 自取,我都放在这里了。

import requests         # 第三方模块 发送请求
import parsel
import csv
with open('天气.csv', mode='a', encoding='utf-8', newline='') as f:
    csv_writer = csv.writer(f)
    csv_writer.writerow(['日期','最高温度','最低温度','天气','风向','城市'])
city_list = [54511, 58362, 59287, 59493]

1. 发送请求

            response = requests.get(url)

2. 获取数据

.text: 获取文本内容

.json(): 获取json数据

            json_data = response.json()

3. 解析数据

结构化数据: json数据 结构化的 字典键值对的方式

            html_data = json_data['data']

非结构化数据: 网页源代码 xpath / css / re bs4, parsel, lxml, re

哪个简单用哪个

table tr css语法

            select = parsel.Selector(html_data)

匹配到了网页当中的每个 tr (每天的天气)

            trs = select.css('table tr')
            for tr in trs[1:]:
                tds = tr.css('td::text').getall()
                if city == 54511:
                    tds.append('北京')
                elif city == 58362:
                    tds.append('上海')
                elif city == 59287:
                    tds.append('广州')
                elif city == 59493:
                    tds.append('深圳')
                print(tds)

数据可视化

4. 保存数据

                with open('天气.csv', mode='a', encoding='utf-8', newline='') as f:
                    csv_writer = csv.writer(f)
                    csv_writer.writerow(tds)

效果


【python】带你对近期天气数据进行采集做可视化~_第1张图片

数据可视化

源码、数据集点击 蓝色字体 自取,我都放在这里了。

【python】带你对近期天气数据进行采集做可视化~_第2张图片
【python】带你对近期天气数据进行采集做可视化~_第3张图片
【python】带你对近期天气数据进行采集做可视化~_第4张图片
【python】带你对近期天气数据进行采集做可视化~_第5张图片
【python】带你对近期天气数据进行采集做可视化~_第6张图片
【python】带你对近期天气数据进行采集做可视化~_第7张图片

文章看不懂,我专门录了对应的视频讲解,本文只是大致展示,完整代码和视频教程点击下方蓝字

点击 蓝色字体 自取,我都放在这里了。

尾语

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

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

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

最后,博主要一下你们的三连呀(点赞、评论、收藏),不要钱的还是可以搞一搞的嘛~

不知道评论啥的,即使扣个6666也是对博主的鼓舞吖 感谢

你可能感兴趣的:(python,python,开发语言,pycharm)