欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python 爬取天氣網(wǎng)衛(wèi)星圖片

 更新時(shí)間:2021年06月07日 15:02:13   作者:MrWayneLee  
根據(jù)網(wǎng)站URL的規(guī)律編寫(xiě)的一個(gè)爬取天氣網(wǎng)衛(wèi)星圖片的python爬蟲(chóng),使用了requests包,感興趣的朋友可以參考下

項(xiàng)目地址:

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("開(kāi)始請(qǐng)求" + imgDate + " " + imgName + "的數(shù)據(jù)"))
        if req.status_code == 200:
            open(pathName + '\\' + os.path.basename(imgName) + '.png', 'wb').write(req.content)
            print("數(shù)據(jù)" + imgDate + " " + imgName + "下載完成")
            s += 1
            del req
        elif req.status_code == 404:
            print("數(shù)據(jù)" + imgDate + " " + imgName + "不存在")
            f += 1
        a += 1
    timeEnd = time.time()
    totalTime = round(timeEnd - timeStart, 2)
    print("全部數(shù)據(jù)請(qǐng)求完成!總耗時(shí):",totalTime,"秒")
    print("共請(qǐng)求", a, "次;成功", s, "次;失敗", f, "次")

創(chuàng)建文件夾

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]\\學(xué)習(xí)資料\\Python\\爬取圖像'
    newPathName = mainPath + '\\' + imgName_date
    realPath = newPathName + '\\'

    isExists = os.path.exists(newPathName)

    if not isExists:
        os.makedirs(newPathName)
        print("新文件夾 [" + imgName_date + "] 創(chuàng)建成功")
        return realPath
    else:
        print(pathName + "文件夾已存在")
        return realPath

生成時(shí)間列表

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

主函數(shù)

# 主函數(shù)
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]手動(dòng)輸入日期")
        print("[2]獲取當(dāng)天日期")
        print("[3]退出程序")
        choose = str(input("你的選擇:"))
        if choose == "1":
            imgDate = str(input("請(qǐng)輸入日期[如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("你的選擇有誤!請(qǐng)重試")

開(kāi)始下載

    pathName = createFolder(imgDate)
    # 開(kāi)始下載
    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("開(kāi)始請(qǐng)求" + imgDate + " " + imgName + "的數(shù)據(jù)"))
        if req.status_code == 200:
            open(pathName + '\\' + os.path.basename(imgName) + '.png', 'wb').write(req.content)
            print("數(shù)據(jù)" + imgDate + " " + imgName + "下載完成")
            s += 1
            del req
        elif req.status_code == 404:
            print("數(shù)據(jù)" + imgDate + " " + imgName + "不存在")
            f += 1
        a += 1
    timeEnd = time.time()
    totalTime = round(timeEnd - timeStart, 2)
    print("全部數(shù)據(jù)請(qǐng)求完成!總耗時(shí):",totalTime,"秒")
    print("共請(qǐng)求", a, "次;成功", s, "次;失敗", f, "次")

# 創(chuàng)建文件夾
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]\\學(xué)習(xí)資料\\Python\\爬取圖像'
    newPathName = mainPath + '\\' + imgName_date
    realPath = newPathName + '\\'

    isExists = os.path.exists(newPathName)

    if not isExists:
        os.makedirs(newPathName)
        print("新文件夾 [" + imgName_date + "] 創(chuàng)建成功")
        return realPath
    else:
        print(pathName + "文件夾已存在")
        return realPath

# 生成時(shí)間列表
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

# 主函數(shù)
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]手動(dòng)輸入日期")
        print("[2]獲取當(dāng)天日期")
        print("[3]退出程序")
        choose = str(input("你的選擇:"))
        if choose == "1":
            imgDate = str(input("請(qǐng)輸入日期[如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("你的選擇有誤!請(qǐng)重試")

    # 創(chuàng)建文件夾
    pathName = createFolder(imgDate)
    # 開(kāi)始下載
    downloadImg(imgDate, urlList, pathName)

爬取效果

以上就是python 爬取天氣網(wǎng)衛(wèi)星圖片的詳細(xì)內(nèi)容,更多關(guān)于python 爬取天氣網(wǎng)圖片的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 時(shí)間序列分析之ARIMA模型預(yù)測(cè)餐廳銷量

    時(shí)間序列分析之ARIMA模型預(yù)測(cè)餐廳銷量

    這篇文章主要介紹了時(shí)間序列分析之ARIMA模型預(yù)測(cè)餐廳銷量,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • python數(shù)據(jù)處理——對(duì)pandas進(jìn)行數(shù)據(jù)變頻或插值實(shí)例

    python數(shù)據(jù)處理——對(duì)pandas進(jìn)行數(shù)據(jù)變頻或插值實(shí)例

    這篇文章主要介紹了python數(shù)據(jù)處理——對(duì)pandas進(jìn)行數(shù)據(jù)變頻或插值實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-04-04
  • Python運(yùn)行異常管理解決方案

    Python運(yùn)行異常管理解決方案

    這篇文章主要介紹了Python運(yùn)行異常管理解決方案,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-03-03
  • Python hmac模塊使用實(shí)例解析

    Python hmac模塊使用實(shí)例解析

    這篇文章主要介紹了Python hmac模塊使用實(shí)例解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-12-12
  • 教你利用Selenium+python自動(dòng)化來(lái)解決pip使用異常

    教你利用Selenium+python自動(dòng)化來(lái)解決pip使用異常

    今天帶大家來(lái)學(xué)習(xí)怎么利用Selenium+python自動(dòng)化解決pip使用異常,文中介紹的非常詳細(xì),對(duì)正在學(xué)習(xí)python的小伙伴們有很大的幫助,需要的朋友可以參考下
    2021-05-05
  • Pytorch中torch.repeat_interleave()函數(shù)使用及說(shuō)明

    Pytorch中torch.repeat_interleave()函數(shù)使用及說(shuō)明

    這篇文章主要介紹了Pytorch中torch.repeat_interleave()函數(shù)使用及說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • Python文件路徑處理模塊pathlib示例詳解

    Python文件路徑處理模塊pathlib示例詳解

    pathlib是跨平臺(tái)的、面向?qū)ο蟮穆窂讲僮髂K,可適用于不同的操作系統(tǒng),其操作對(duì)象是各種操作系統(tǒng)中使用的路徑,下面這篇文章主要給大家介紹了關(guān)于Python文件路徑處理模塊pathlib的相關(guān)資料,需要的朋友可以參考下
    2023-04-04
  • python自動(dòng)化測(cè)試selenium核心技術(shù)三種等待方式詳解

    python自動(dòng)化測(cè)試selenium核心技術(shù)三種等待方式詳解

    這篇文章主要為大家介紹了python自動(dòng)化測(cè)試selenium的核心技術(shù)三種等待方式示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪
    2021-11-11
  • Pandas讀寫(xiě)CSV文件的方法示例

    Pandas讀寫(xiě)CSV文件的方法示例

    這篇文章主要介紹了Pandas讀寫(xiě)CSV文件的方法示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • python使用多進(jìn)程的實(shí)例詳解

    python使用多進(jìn)程的實(shí)例詳解

    本文通過(guò)實(shí)例代碼給大家介紹了python使用多進(jìn)程的方法,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2018-09-09

最新評(píng)論