python 爬取天氣網(wǎng)衛(wèi)星圖片
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 + '的數(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 reqelif req.status_code == 404: print('數(shù)據(jù)' + imgDate + ' ' + imgName + '不存在') f += 1a += 1 timeEnd = time.time() totalTime = round(timeEnd - timeStart, 2) print('全部數(shù)據(jù)請求完成!總耗時:',totalTime,'秒') print('共請求', 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]學習資料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生成時間列表
def generateTime(imgUrl): timeList = [] imgUrlList = [] h,j = 0,0 while h < 24:m = 0while m < 60: timeList.append('{:0>4d}'.format(h * 100 + m)) m += 15h += 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]手動輸入日期')print('[2]獲取當天日期')print('[3]退出程序')choose = str(input('你的選擇:'))if choose == '1': imgDate = str(input('請輸入日期[如20200411]:')) urlList = list(downloadUrl(imgDate)) breakelif choose == '2': imgDate = time.strftime('%Y%m%d',time.localtime()) urlList = list(downloadUrl(imgDate)) breakelif choose == '3': breakelse: print('你的選擇有誤!請重試')
開始下載
pathName = createFolder(imgDate) # 開始下載 downloadImg(imgDate, urlList, pathName)
完整代碼
import requestsimport timeimport datetimeimport 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 + '的數(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 reqelif req.status_code == 404: print('數(shù)據(jù)' + imgDate + ' ' + imgName + '不存在') f += 1a += 1 timeEnd = time.time() totalTime = round(timeEnd - timeStart, 2) print('全部數(shù)據(jù)請求完成!總耗時:',totalTime,'秒') print('共請求', 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]學習資料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# 生成時間列表def generateTime(imgUrl): timeList = [] imgUrlList = [] h,j = 0,0 while h < 24:m = 0while m < 60: timeList.append('{:0>4d}'.format(h * 100 + m)) m += 15h += 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]手動輸入日期')print('[2]獲取當天日期')print('[3]退出程序')choose = str(input('你的選擇:'))if choose == '1': imgDate = str(input('請輸入日期[如20200411]:')) urlList = list(downloadUrl(imgDate)) breakelif choose == '2': imgDate = time.strftime('%Y%m%d',time.localtime()) urlList = list(downloadUrl(imgDate)) breakelif choose == '3': breakelse: print('你的選擇有誤!請重試') # 創(chuàng)建文件夾 pathName = createFolder(imgDate) # 開始下載 downloadImg(imgDate, urlList, pathName)爬取效果
以上就是python 爬取天氣網(wǎng)衛(wèi)星圖片的詳細內(nèi)容,更多關于python 爬取天氣網(wǎng)圖片的資料請關注好吧啦網(wǎng)其它相關文章!
相關文章:
1. Intellij IDEA 2019 最新亂碼問題及解決必殺技(必看篇)2. 利用django創(chuàng)建一個簡易的博客網(wǎng)站的示例3. PHP5.0正式發(fā)布 不完全兼容PHP4 新增多項功能4. JS+css3實現(xiàn)幻燈片輪播圖5. ASP.NET MVC獲取多級類別組合下的產(chǎn)品6. 未來的J2EE主流應用框架:對比Spring和EJB37. Android自定義View實現(xiàn)掃描效果8. 《javascript設計模式》學習筆記三:Javascript面向?qū)ο蟪绦蛟O計單例模式原理與實現(xiàn)方法分析9. JS繪圖Flot如何實現(xiàn)動態(tài)可刷新曲線圖10. 關于HTML5的img標簽
