返回顶部
首页 > 资讯 > 后端开发 > Python >python 爬取天气网卫星图片
  • 955
分享到

python 爬取天气网卫星图片

python爬取天气网python爬取图片python爬取卫星 2022-06-02 22:06:50 955人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

目录项目地址:代码部分下载生成文件功能创建文件夹生成时间列表生成下载URL列表主函数爬取效果项目地址: https://GitHub.com/MrWayneLee/weather-demo 代码部分 下载生成文件功能

目录
  • 项目地址:
  • 代码部分
    • 下载生成文件功能
    • 创建文件夹
    • 生成时间列表
    • 生成下载URL列表
    • 主函数
  • 爬取效果

    项目地址:

    https://GitHub.com/MrWayneLee/weather-demo

    代码部分

    下载生成文件功能

    
    # 下载并生成文件
    def downloadImg(imgDate, imgURLs, pathName):
        a,s,f = 0,0,0
        timeStart = time.time()
        while a < len(imgURLs):
            req = requests.get(imgURLs[a])
            imgName = str(imgURLs[a])[-13:-9]
            print(str("开始请求" + imgDate + " " + imgName + "的数据"))
            if req.status_code == 200:
                open(pathName + '\\' + os.path.basename(imgName) + '.png', 'wb').write(req.content)
                print("数据" + imgDate + " " + imgName + "下载完成")
                s += 1
                del req
            elif req.status_code == 404:
                print("数据" + imgDate + " " + imgName + "不存在")
                f += 1
            a += 1
        timeEnd = time.time()
        totalTime = round(timeEnd - timeStart, 2)
        print("全部数据请求完成!总耗时:",totalTime,"秒")
        print("共请求", a, "次;成功", s, "次;失败", f, "次")

    创建文件夹

    
    def createFolder(pathName):
        imgName_Year = pathName[0:4]
        imgName_Month = pathName[4:6]
        imgName_Day = pathName[6:8]
        imgName_date = imgName_Year + '-' + imgName_Month + '-' + imgName_Day
    
        mainPath = 'F:\\[Wayne Lee]\\学习资料\\python\\爬取图像'
        newPathName = mainPath + '\\' + imgName_date
        realPath = newPathName + '\\'
    
        isExists = os.path.exists(newPathName)
    
        if not isExists:
            os.makedirs(newPathName)
            print("新文件夹 [" + imgName_date + "] 创建成功")
            return realPath
        else:
            print(pathName + "文件夹已存在")
            return realPath

    生成时间列表

    
    def generateTime(imgUrl):
        timeList = []
        imgUrlList = []
        h,j = 0,0
        while h < 24:
            m = 0
            while m < 60:
                timeList.append("{:0>4d}".fORMat(h * 100 + m))
                m += 15
            h += 1
        # print(timeList)
        # print(len(timeList))
        while j < len(timeList):
            imgUrlList.append(str(imgUrl + timeList[j] + "00000.JPG"))
            # print(timeList[j])
            j += 1
        return imgUrlList
        # print(imgUrlList)
        # print(len(imgUrlList))

    生成下载URL列表

    
    def downloadUrl(imgDate):
        imgUrl = "Http://image.nmc.cn/product/" + imgDate[0:4] + "/" + imgDate[4:6] + "/" + imgDate[6:8] + "/WXBL/SEVP_NSMC_WXBL_FY4A_ETCC_ACHN_LNO_PY_" + imgDate # + "0000" +"00000.JPG"
        URLlist = list(generateTime(imgUrl))
        return URLlist

    主函数

    
    # 主函数
    if __name__ == '__main__':
        # imgUrl = "http://image.nmc.cn/product/2020/04/11/WXBL/SEVP_NSMC_WXBL_FY4A_ETCC_ACHN_LNO_PY_20200411044500000.JPG"
        # imgUrl = "http://image.nmc.cn/product/2020/04/11/WXBL/SEVP_NSMC_WXBL_FY4A_ETCC_ACHN_LNO_PY_20200411"
        # imgName = imgUrl[-21:-9]
    
        while True:
            print("[1]手动输入日期")
            print("[2]获取当天日期")
            print("[3]退出程序")
            choose = str(input("你的选择:"))
            if choose == "1":
                imgDate = str(input("请输入日期[如20200411]:"))
                urlList = list(downloadUrl(imgDate))
                break
            elif choose == "2":
                imgDate = time.strftime("%Y%m%d",time.localtime())
                urlList = list(downloadUrl(imgDate))
                break
            elif choose == "3":
                break
            else:
                print("你的选择有误!请重试")

    开始下载

    
        pathName = createFolder(imgDate)
        # 开始下载
        downloadImg(imgDate, urlList, pathName)

    完整代码

    
    import requests
    import time
    import datetime
    import os
    
    # 下载并生成文件
    def downloadImg(imgDate, imgURLs, pathName):
        a,s,f = 0,0,0
        timeStart = time.time()
        while a < len(imgURLs):
            req = requests.get(imgURLs[a])
            imgName = str(imgURLs[a])[-13:-9]
            print(str("开始请求" + imgDate + " " + imgName + "的数据"))
            if req.status_code == 200:
                open(pathName + '\\' + os.path.basename(imgName) + '.png', 'wb').write(req.content)
                print("数据" + imgDate + " " + imgName + "下载完成")
                s += 1
                del req
            elif req.status_code == 404:
                print("数据" + imgDate + " " + imgName + "不存在")
                f += 1
            a += 1
        timeEnd = time.time()
        totalTime = round(timeEnd - timeStart, 2)
        print("全部数据请求完成!总耗时:",totalTime,"秒")
        print("共请求", a, "次;成功", s, "次;失败", f, "次")
    
    # 创建文件夹
    def createFolder(pathName):
        imgName_Year = pathName[0:4]
        imgName_Month = pathName[4:6]
        imgName_Day = pathName[6:8]
        imgName_date = imgName_Year + '-' + imgName_Month + '-' + imgName_Day
    
        mainPath = 'F:\\[Wayne Lee]\\学习资料\\Python\\爬取图像'
        newPathName = mainPath + '\\' + imgName_date
        realPath = newPathName + '\\'
    
        isExists = os.path.exists(newPathName)
    
        if not isExists:
            os.makedirs(newPathName)
            print("新文件夹 [" + imgName_date + "] 创建成功")
            return realPath
        else:
            print(pathName + "文件夹已存在")
            return realPath
    
    # 生成时间列表
    def generateTime(imgUrl):
        timeList = []
        imgUrlList = []
        h,j = 0,0
        while h < 24:
            m = 0
            while m < 60:
                timeList.append("{:0>4d}".format(h * 100 + m))
                m += 15
            h += 1
        # print(timeList)
        # print(len(timeList))
        while j < len(timeList):
            imgUrlList.append(str(imgUrl + timeList[j] + "00000.JPG"))
            # print(timeList[j])
            j += 1
        return imgUrlList
        # print(imgUrlList)
        # print(len(imgUrlList))
    
    # 生成下载URL列表
    def downloadUrl(imgDate):
        imgUrl = "http://image.nmc.cn/product/" + imgDate[0:4] + "/" + imgDate[4:6] + "/" + imgDate[6:8] + "/WXBL/SEVP_NSMC_WXBL_FY4A_ETCC_ACHN_LNO_PY_" + imgDate # + "0000" +"00000.JPG"
        URLlist = list(generateTime(imgUrl))
        return URLlist
    
    # 主函数
    if __name__ == '__main__':
        # imgUrl = "http://image.nmc.cn/product/2020/04/11/WXBL/SEVP_NSMC_WXBL_FY4A_ETCC_ACHN_LNO_PY_20200411044500000.JPG"
        # imgUrl = "http://image.nmc.cn/product/2020/04/11/WXBL/SEVP_NSMC_WXBL_FY4A_ETCC_ACHN_LNO_PY_20200411"
        # imgName = imgUrl[-21:-9]
    
        while True:
            print("[1]手动输入日期")
            print("[2]获取当天日期")
            print("[3]退出程序")
            choose = str(input("你的选择:"))
            if choose == "1":
                imgDate = str(input("请输入日期[如20200411]:"))
                urlList = list(downloadUrl(imgDate))
                break
            elif choose == "2":
                imgDate = time.strftime("%Y%m%d",time.localtime())
                urlList = list(downloadUrl(imgDate))
                break
            elif choose == "3":
                break
            else:
                print("你的选择有误!请重试")
    
        # 创建文件夹
        pathName = createFolder(imgDate)
        # 开始下载
        downloadImg(imgDate, urlList, pathName)

    爬取效果

    以上就是python 爬取天气网卫星图片的详细内容,更多关于python 爬取天气网图片的资料请关注编程网其它相关文章!

    --结束END--

    本文标题: python 爬取天气网卫星图片

    本文链接: https://lsjlt.com/news/10896.html(转载时请注明来源链接)

    有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

    猜你喜欢
    • python 爬取天气网卫星图片
      目录项目地址:代码部分下载生成文件功能创建文件夹生成时间列表生成下载URL列表主函数爬取效果项目地址: https://github.com/MrWayneLee/weather-demo 代码部分 下载生成文件功能...
      99+
      2022-06-02
      python 爬取天气网 python 爬取图片 python 爬取卫星
    • 爬虫分享风云2号卫星气象照片
      爬虫概述早在2016年,我用我的阿里云ECS上运行了一个长期性质的爬虫程序,内容是采集风云二号气象卫星照片,现在假期终于有时间回来查看结果,简单统计如下(附图):图片总数:45869 个文件最早文件:201609131345.jpg最晚文件...
      99+
      2023-06-05
    • python爬取气象台每日天气图代码
      目录前言1.安装Selenium2. 安装chromedriver3.代码前言 中央气象台网站更新后,以前的爬虫方式就不太能用了,我研究了一下发现主要是因为网站上天气图的翻页模式从点...
      99+
      2024-04-02
    • 怎么利用python多线程爬取天气网站图片并保存
      这篇文章主要介绍了怎么利用python多线程爬取天气网站图片并保存,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1.1 题目指定一个网站,爬取这个网站中的所有的所有图片,例如...
      99+
      2023-06-25
    • 如何利用python多线程爬取天气网站图片并保存
      目录1.1 题目1.2 思路 1.2.1 发送请求1.2.2 解析网页 1.2.3 获取结点 1.2.4 数据保存 (单线程) 1.2.4 数据保存 (多线程)总结1.1 题目 指定...
      99+
      2024-04-02
    • python怎么爬取气象台每日天气图代码
      今天就跟大家聊聊有关python怎么爬取气象台每日天气图代码,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。前言中央气象台网站更新后,以前的爬虫方式就不太能用了,我研究了一下发现主要是...
      99+
      2023-06-22
    • Python爬虫爬取网站图片
      此次python3主要用requests,解析图片网址主要用beautiful soup,可以基本完成爬取图片功能, 爬虫这个当然大多数人入门都是爬美女图片,我当然也不落俗套,首先也...
      99+
      2024-04-02
    • python怎么爬取天气数据
      要爬取天气数据,你可以使用 Python 中的第三方库如 requests 和 BeautifulSoup。以下是一个简单的示例,演...
      99+
      2023-08-31
      python
    • 如何用Python爬取天气数据
      本篇内容主要讲解“如何用Python爬取天气数据”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何用Python爬取天气数据”吧!一、[知识点]:  ...
      99+
      2024-04-02
    • python爬取网站美女图片
      今天周五,项目刚刚上线完,有些时间,闲着无聊,继续复习爬虫,这次打算爬取网站的美女图片。得先找到目标,然后目标网站还不会反爬虫,因为自己只是小白,好了开始。寻找目标,发现了目标,哈哈 http://www.meizitu.com 里面图片按...
      99+
      2023-01-31
      美女 图片 网站
    • python如何爬取网页图片
      要使用Python爬取网页图片,可以使用requests库来发送HTTP请求,然后使用beautifulsoup库或者正则表达式来解...
      99+
      2023-08-20
      python
    • 用python爬取某个图片网站的图片
      爬取单张图片 # 爬取单张图片import requests # 导入requests库url = "https://file.lsjlt.com/upload/f/202309/12/54vwhbwy2re.jpg" # 图片地址re...
      99+
      2023-09-12
      python 爬虫
    • python3.7---爬取网页图片
      #!/usr/bin/python import reimport urllibimport urllib.request #python3中urlopen、urlritrieve都在request库里面了,所以要导入此库 def ht...
      99+
      2023-01-31
      网页 图片
    • 如何使用Python爬虫爬取网站图片
      这篇文章主要介绍了如何使用Python爬虫爬取网站图片,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。此次python3主要用requests,解析图片网址主要用beautif...
      99+
      2023-06-22
    • 怎么用Python爬取某图网的图片
      本篇内容介绍了“怎么用Python爬取某图网的图片”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!相信很多设计小伙伴有好的灵感,但是没有好的设...
      99+
      2023-06-15
    • Python爬取天气数据及可视化分析
      正文 大家好,我是Python人工智能技术天气预报我们每天都会关注,我们可以根据未来的天气增减衣物、安排出行,每天的气温、风速风向、相对湿度、空气质量等成为关注的焦点。得到温湿度度变化曲线、空气质量图、风向雷达图等结果,为获得未来天气信息提...
      99+
      2023-05-14
      Python 天气数据 可视化分析
    • Python爬取网页中的图片(搜狗图片)详解
      前言 最近几天,研究了一下一直很好奇的爬虫算法。这里写一下最近几天的点点心得。下面进入正文: 你可能需要的工作环境:   Python 3.6官网下载 本地下载 我们这里以sogou作为爬取的...
      99+
      2022-06-04
      图片 搜狗 详解
    • python爬虫如何爬取图片
      这篇文章主要介绍了python爬虫如何爬取图片,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。python可以做什么Python是一种编程语言,内置了许多有效的工具,Pytho...
      99+
      2023-06-14
    • Python应用开发——爬取网页图片
      Python应用开发——爬取网页图片 目录 Python应用开发——爬取网页图片前言1 爬取原理讲解1.1 查看网页源代码1.2 分析网页源码并制定对应的爬取方案1.3 完善爬取流程和细节 ...
      99+
      2023-09-10
      python 爬虫 网页图片
    • 怎么使用python爬取网页图片
      本篇内容介绍了“怎么使用python爬取网页图片”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!在现在这个信息爆炸的时代,要想高效的获取数据,...
      99+
      2023-07-02
    软考高级职称资格查询
    编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
    • 官方手机版

    • 微信公众号

    • 商务合作