【Python】实现爬虫(完整版),爬取天气数据并进行可视化分析

这篇具有很好参考价值的文章主要介绍了【Python】实现爬虫(完整版),爬取天气数据并进行可视化分析。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

✌️✌️✌️大家好呀,你们的作业侠又轰轰轰的出现了,这次给大家带来的是python爬虫,实现的是爬取某城市的天气信息并使用matplotlib进行图形化分析✌️✌️✌️

要源码可私聊我。

大家的关注就是我作业侠源源不断的动力,大家喜欢的话,期待三连呀😊😊😊

往期源码回顾:

【Java】实现绘图板(完整版)
【C++】图书管理系统(完整板)
【Java】实现计算器(完整版)

有需要的小伙伴自取哦!

进入今天的正题:

爬取天气数据并可视化,作业,python,爬虫,开发语言

1.实现需求:

从网上(随便一个网址,我爬的网址会在评论区告诉大家,dddd)获取某一年的历史天气信息,包括每天最高气温、最低气温、天气状况、风向等,完成以下功能: (1)将获取的数据信息存储到csv格式的文件中,文件命名为”城市名称.csv”,其中每行数据格式为“日期,最高温,最低温,天气,风向”; (2)在数据中增加“平均温度”一列,其中:平均温度=(最高温+最低温)/2,在同一张图中绘制两个城市一年平均气温走势折线图; (3)统计两个城市各类天气的天数,并绘制条形图进行对比,假设适合旅游的城市指数由多云天气占比0.3,晴天占比0.4,阴天数占比0.3,试比较两个城市中哪个城市更适合旅游; (4)统计这两个城市每个月的平均气温,绘制折线图,并通过折线图分析该城市的哪个月最适合旅游; (5)统计出这两个城市一年中,平均气温在18~25度,风力小于5级的天数,并假设该类天气数越多,城市就越适宜居住,判断哪个城市更适合居住;

爬虫代码:

import random
import time

from spider.data_storage import DataStorage
from spider.html_downloader import HtmlDownloader
from spider.html_parser import HtmlParser


class SpiderMain:
    def __init__(self):
        self.html_downloader=HtmlDownloader()
        self.html_parser=HtmlParser()
        self.data_storage=DataStorage()
    def start(self):
        """
        爬虫启动方法
        将获取的url使用下载器进行下载
        将html进行解析
        数据存取

        :return:
        """


        for i in range(1,13):  # 采用循环的方式进行依次爬取
            time.sleep(random.randint(0, 10))  # 随机睡眠0到40s防止ip被封
            url="XXXX"
            if i<10:
               url =url+"20210"+str(i)+".html"  # 拼接url
            else:
                url=url+"2021"+str(i)+".html"
            html=self.html_downloader.download(url)
            resultWeather=self.html_parser.parser(html)
            if i==1:
             t = ["日期", "最高气温", "最低气温", "天气", "风向"]
             resultWeather.insert(0,t)
            self.data_storage.storage(resultWeather)

if __name__=="__main__":
    main=SpiderMain()
    main.start()
import requests as requests



class HtmlDownloader:
    def download(self,url):
        """
        根据给定的url下载网页
        :param url:
        :return: 下载好的文本
        """

        headers = {"User-Agent":
                       "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:101.0) Gecko/20100101 Firefox/101.0"}



        result = requests.get(url,headers=headers)

        return result.content.decode('utf-8')

此处大家需要注意,将User-Agent换成自己浏览器访问该网址的,具体如何查看呢,其实很简单,只需大家进入网站后,右键网页,然后点击检查将出现这样的界面:
爬取天气数据并可视化,作业,python,爬虫,开发语言然后只需再点击网络,再随便点击一个请求,如下图:
爬取天气数据并可视化,作业,python,爬虫,开发语言就可以进入如下图,然后再复制,图中User-Agent的内容就好了!

爬取天气数据并可视化,作业,python,爬虫,开发语言
继续:

from bs4 import BeautifulSoup


class HtmlParser:


    def parser(self,html):
        """
        解析给定的html
        :param html:
        :return: area set
        """


        weather = []
        bs = BeautifulSoup(html, "html.parser")
        body = bs.body  # 获取html中的body部分
        div = body.find('div', {'class:', 'tian_three'})  # 获取class为tian_three的<div></div>
        ul = div.find('ul')  # 获取div中的<ul></ul>
        li = ul.find_all('li')  # 获取ul中的所有<li></li>
        for l in li:
            tempWeather = []
            div1 = l.find_all("div")  # 获取当前li中的所有div
            for i in div1:
                tempStr = i.string.replace("℃", "")  # 将℃进行替换
                tempStr = tempStr.replace(" ", "")  # 替换空格
                tempWeather.append(tempStr)
            weather.append(tempWeather)
        return weather

import pandas as pd


class DataStorage:
    def storage(self,weather):
        """
        数据存储
        :param weather list
        :return:
        """
        data = pd.DataFrame(columns=weather[0], data=weather[1:])  # 格式化数据
        data.to_csv("C:\\Users\\86183\\Desktop\\成都.csv", index=False, sep=",",mode="a")  # 保存到csv文件当中

注意,文件保存路径该成你们自己的哦!
ok,爬取代码就到这,接下来是图形化效果大致如下:
爬取天气数据并可视化,作业,python,爬虫,开发语言
爬取天气数据并可视化,作业,python,爬虫,开发语言
爬取天气数据并可视化,作业,python,爬虫,开发语言
爬取天气数据并可视化,作业,python,爬虫,开发语言

代码如下:

需要完整源码,只需5元, 需要请加位心:ch18384322303,备注:xx源码

好的这次就到这儿吧,我们下次见哦!!!文章来源地址https://www.toymoban.com/news/detail-754628.html

到了这里,关于【Python】实现爬虫(完整版),爬取天气数据并进行可视化分析的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • python爬取天气数据并做可视化分析

    历史天气数据schema { ‘当日信息’:\\\'2023-01-01 星期日\\\', \\\'最高气温\\\': 8℃\\\'\\\', \\\'最低气温\\\': \\\'5℃\\\', ‘天气’: \\\'多云\\\', \\\'风向信息\\\':\\\'北风 3级\\\' } 1.导入库 2.对程序进行伪装 3.抓取天气数据 在数据存储前,对数据进行处理,便于后期的数据分析。将上面的“当天信息”字段拆分为“日期”

    2024年02月04日
    浏览(45)
  • Python--爬取天气网站天气数据并进行数据分析

     目的:从天气网站中爬取数据,生成excel表格,里面存储南昌市近十一年的天气情况,并对爬取产生的数据进行数据分析。   第一步:编写代码进行数据爬取 首先,导入 requests 模块,并调用函数 requests.get(),从天气的网站上面获 取该函数所需要的各种参数,然后对里面的参

    2024年02月04日
    浏览(42)
  • Flask+echarts爬取天气预报数据并实现可视化

    右键新建一个crawl.py文件,代码如下,将爬取到的数据存储到tianqi.txt文件中, 右键新建一个flask01.py的文件,对爬取到的数据进行读取,并转换为列表类型,传递给index.html页面,echarts的图表样例负责接收并渲染,代码如下, 在根目录下,新建一个名为templates目录,该目录名

    2024年02月11日
    浏览(40)
  • 毕业设计:python全国天气气象数据爬取分析可视化系统+大屏+大数据(源码+文档)

    博主介绍:✌全网粉丝10W+,前互联网大厂软件研发、集结硕博英豪成立工作室。专注于计算机相关专业毕业设计项目实战6年之久,选择我们就是选择放心、选择安心毕业✌ 毕业设计:2023-2024年计算机专业毕业设计选题汇总(建议收藏) 毕业设计:2023-2024年最新最全计算机专

    2024年02月02日
    浏览(54)
  • Python爬取天气数据并进行分析与预测

    随着全球气候的不断变化,对于天气数据的获取、分析和预测显得越来越重要。本文将介绍如何使用Python编写一个简单而强大的天气数据爬虫,并结合相关库实现对历史和当前天气数据进行分析以及未来趋势预测。 1 、数据源选择 选择可靠丰富的公开API或网站作为我们所需的

    2024年02月09日
    浏览(51)
  • 【数据可视化】通过使用网络爬虫对数据爬取并进行可视化分析

      本次项目所爬取的网页为柳州职业技术学院电子信息工程学院的超星学习通课程中心。在该网页中可以查看到电子信息工程学院历年的超星课程创建情况,还可以进入到课程界面查看相应的教学资源。   在该网页中,详细记录了课程序号、课程名称、课程链接、所属院

    2024年02月04日
    浏览(51)
  • 爬虫入门指南(8): 编写天气数据爬虫程序,实现可视化分析

    天气变化是生活中一个重要的因素,了解天气状况可以帮助我们合理安排活动和做出决策。本文介绍了如何使用Python编写一个简单的天气数据爬虫程序,通过爬取指定网站上的天气数据,并使用Matplotlib库对数据进行可视化分析。通过这个例子,我们不仅可以学习Python的相关库

    2024年02月12日
    浏览(47)
  • python+pyecharts+flask+爬虫实现实时天气查询可视化

    本项目使用python语言编写,采用Flaskweb框架来实现前后端交互,利于开发,维护,前端使用Html和jQuery处理事件,发送数据等,后端采用requests库,BeautifulSoup库实现爬取中国气象局的数据,清洗转化成对应表格数据格式,再使用pyecharts绘制图形,返回给前端页面实现实时展示,

    2024年02月03日
    浏览(50)
  • 【爬虫、数据可视化实战】以“人口”话题为例爬取实时微博数据并进行舆情分析

    近期在weibo上讨论的比较热的话题无非就是“人口”了。TaoTao也看了一些大家发的内容。但是感觉单纯的看文字内容不能很直观的反应出来大家的关切。索性就使用爬虫对数据进行爬取,同时结合着数据可视化的方式让数据自己开口说话。那么接下来就让我们使用技术进行分

    2024年01月23日
    浏览(54)
  • python 爬虫爬取天气

    爬虫5步曲: 1.安装requests and beacutifulsoup4库 2.获取爬虫所需的header 和cookie 3.获取网页,解析网页 4.分析得到的数据简化地址 5.爬取内容,清洗数据 1.安装requestsbeautifulsoup4         pip3 install requests         pip3 install beautifulsoup4 2.获取爬虫所需的header 和cookie 打开想爬取的

    2024年02月08日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包