python 根據網址和關鍵詞批量下載影像

最近用到了GLASS的LAI產品,但這個產品的文件夾分得很細,我需要的影像又有8個瓦片,一個一個點擊很麻煩,于是探索了批量下載的方法
在這里插入圖片描述
在這里插入圖片描述

一、下載1幅

import requests
import re
import os
import requests
import re# 網頁URLurl = "http://www.glass.umd.edu/LAI/MODIS/250m/2003/009/"  #網址# 本地文件夾路徑
local_folder = r"F:\BH\1.data\2.area data\LAI"# 確保本地文件夾存在
if not os.path.exists(local_folder):os.makedirs(local_folder)# 發送HTTP請求獲取網頁內容
response = requests.get(url)# 使用正則表達式提取文件鏈接
file_links = re.findall(r'href=[\'"]?([^\'" >]+)', response.text)# 遍歷文件鏈接,下載包含特定關鍵詞的文件 hdf
for file_link in file_links:if ".hdf" in file_link and "h26v05" in file_link:# 下載文件file_url = url + "/" + file_linkfile_name = os.path.join(local_folder, file_link.split("/")[-1])with open(file_name, 'wb') as f:response_file = requests.get(file_url)f.write(response_file.content)print("ok")

在這里插入圖片描述

二、下載n


import requests
import re
import os
import requests
import re# 網頁URL
years=['2003','2004','2005','2006','2007','2008','2009','2010','2011','2012','2013','2014','2015','2016','2017','2018','2019','2020','2021']
days=['001','009','017','025','033','041','049','057','065','073','081','089','097','105','113','121','129','137','145','153','161','169','177','185','193','201','209','217','225','233','241','249','257','265','273','281','289','297','305','313','321','329','337','345','353','361']for i in range(0,len(years)):for j in range(0,len(days)):url = "http://www.glass.umd.edu/LAI/MODIS/250m/"+years[i]+"/"+days[j]+"/"  #網址# 本地文件夾路徑local_folder = r"F:\BH\1.data\2.area data\LAI"# 確保本地文件夾存在if not os.path.exists(local_folder):os.makedirs(local_folder)# 發送HTTP請求獲取網頁內容response = requests.get(url)# 使用正則表達式提取文件鏈接file_links = re.findall(r'href=[\'"]?([^\'" >]+)', response.text)# 遍歷文件鏈接,下載包含特定關鍵詞的文件 hdffor file_link in file_links:if ".hdf" in file_link and ("h24v05" in file_link or "h25v05" in file_link or "h26v05" in file_link or "h27v05" in file_link or "h24v06" in file_link or "h25v06" in file_link or "h26v06" in file_link or "h27v06" in file_link or "h28v06" in file_link ):# 下載文件file_url = url + "/" + file_linkfile_name = os.path.join(local_folder, file_link.split("/")[-1])with open(file_name, 'wb') as f:response_file = requests.get(file_url)f.write(response_file.content)print("ok")

在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/9803.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/9803.shtml
英文地址,請注明出處:http://en.pswp.cn/web/9803.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

深入理解Java HashSet類及其實現原理

哈嘍,各位小伙伴們,你們好呀,我是喵手。運營社區:C站/掘金/騰訊云;歡迎大家常來逛逛 今天我要給大家分享一些自己日常學習到的一些知識點,并以文字的形式跟大家一起交流,互相學習,一…

Java中什么是多態?多態的實現原理是什么?多態在Java中的意思實現方式是什么?多態在框架設計中有什么作用應用場景?

什么是多態? 多態是面向對象編程中的一個重要概念,它允許不同類的對象對同一消息做出響應。在 Java中,多態通常體現為子類對象可以替代父類對象的特性。這意味著你可以使用父類的引用來引用子類的對象。 多態的實現原理: 多態的…

如何在 CentOS 上安裝并配置 Redis

如何在 CentOS 上安裝并配置 Redis 但是太陽,他每時每刻都是夕陽也都是旭日。當他熄滅著走下山去收盡蒼涼殘照之際,正是他在另一面燃燒著爬上山巔散烈烈朝暉之時。 ——史鐵生 環境準備 本教程將在 CentOS 7 或 CentOS 8 上進行。確保你的系統已更新到最…

Channel實現Flutter與原生平臺之間的雙向通信

文章目錄 (一)通過MessageChannel實現Flutter與原生平臺之間的雙向通信Flutter端實現MessageChannel通信步驟:Android端實現MessageChannel通信步驟: (二)通過MethodChannel實現Flutter與原生平臺之間的雙向…

uniapp/微信小程序實現加入購物車點擊添加飛到購物車動畫

1、預期效果 2、實現思路 每次點擊添加按鈕時,往該按鈕上方添加一個懸浮元素,通過位移動畫將元素移到目標位置。 1. 為每個點擊元素設置不同的class,才能通過uni.createSelectorQuery來獲取每個元素的節點信息; 2. 添加一個與…

c++:(map和set的底層簡單版本,紅黑樹和AVL樹的基礎) 二叉搜索樹(BST)底層和模擬實現

文章目錄 二叉搜索樹的概念二叉搜索樹的操作二叉搜索樹的查找find 二叉搜索樹的模擬實現構造節點insertfinderase(細節巨多,面試可能會考)a.葉子節點b.有一個孩子左孩子右孩子 c.有兩個孩子注意: erase代碼 中序遍歷 二叉搜索樹的應用k模型k模型模擬實現的總代碼 k-value模型k-…

7-Zip命令行調用命令收集(20個)

列出壓縮文件的內容: 7z l archive.7z 解壓壓縮文件到當前目錄: 7z x archive.7z 解壓壓縮文件到指定目錄: 7z x archive.7z -o"C:\path\to\extract" 創建新的壓縮文件 (添加到archive.7z): 7z a archive.7z file_to_compress 創建包含多個文件的壓縮文件: 7z a arc…

【JVM】了解JVM規范中的虛擬機結構

目錄 JVM規范的主要內容 1)字節碼指令集(相當于中央處理器CPU) JVM指令分類 2)Class文件的格式 3)數據類型和值 4)運行時數據區 5)棧幀 6)特殊方法 7)類庫 JVM規范的主要內容 1&#…

Vue3+ElementPlus+TS開發業務功能的問題匯總(持續更新)

1.開發表單彈框功能時遇到兩個問題:加入了校驗規則后,無論下拉框是否選擇數據下面的紅色提示都會觸發顯示不會自動隱藏 ; 另外,新增的功能在提交后數據無法重置,這種在修改時可能會出現,但新增正常情況是不…

走進C++:C到C++的過渡

目錄 什么是C呢? C的發展史 多了一些吃前來很香的“語法糖”。 語法糖一:命名空間 命名空間有個強大的功能 如何使用 語法糖二:缺省參數 語法糖三:函數重載 語法糖四:引用 引用傳參 引用返回 引用和…

【ZZULIOJ】1100: 求組合數(函數專題)(Java)

目錄 題目描述 輸入 輸出 樣例輸入 Copy 樣例輸出 Copy 提示 code 題目描述 馬上要舉辦新生程序設計競賽了,與以往不同的是,本次比賽以班為單位,為了全面衡量一個班級的整體水平,要求從一個班的m位同學中任選k位同學代表本…

Android GPU渲染SurfaceFlinger合成RenderThread的dequeueBuffer/queueBuffer與fence機制(2)

Android GPU渲染SurfaceFlinger合成RenderThread的dequeueBuffer/queueBuffer與fence機制(2) 計算fps幀率 用 adb shell dumpsys SurfaceFlinger --list 查詢當前的SurfaceView,然后有好多行,再把要查詢的行內容完整的傳給 ad…

算法訓練Day35 | ● 343. 整數拆分 ● 96.不同的二叉搜索樹

343. 整數拆分 class Solution { public:int integerBreak(int n) {vector<int> dp(n1, 0);dp[2] 1;for(int i3; i<n1; i){for(int j 1; j<i/2; j){dp[i] max(dp[i], max(j*(i-j), j*dp[i-j]));}}return dp[n];} };參考文章&#xff1a;代碼隨想錄-343. 整數拆分…

找不到msvcp140.dll無法執行代碼的原因分析及修復方法

當用戶在嘗試運行某些應用程序或游戲時&#xff0c;可能會遇到系統彈出錯誤提示&#xff0c;顯示“找不到msvcp140.dll無法執行代碼”這一錯誤信息&#xff0c;它會導致程序無法正常啟動。為了解決這個問題&#xff0c;我經過多次嘗試和總結&#xff0c;找到了以下五種解決方法…

hadoop啟動后沒有namenode,datanode等解決方法

之前用的是虛擬機&#xff0c;在虛擬機上安裝的hadoop&#xff0c;但是后來&#xff0c;電腦恢復出廠設置了&#xff0c;什么都重新開始。就在本地安裝 Linux 子系統。 但是&#xff0c;有時候start-dfs.sh后&#xff0c;jps出現錯誤。 像這種拒絕連接 解決辦法就是如下&…

我的創作紀念日1460天(4年)

機緣 作為一名技術愛好者&#xff0c;我最初成為創作者的初心源于對知識的渴望和對分享的熱情。在參與多個實戰項目的過程中&#xff0c;我積累了豐富的經驗&#xff0c;這些經驗不僅僅是代碼和解決方案&#xff0c;更多的是對問題本質的理解和解決問題的思維方式。我意識到&a…

題目----力扣--移除鏈表元素

題目 給你一個鏈表的頭節點 head 和一個整數 val &#xff0c;請你刪除鏈表中所有滿足 Node.val val 的節點&#xff0c;并返回 新的頭節點 。 示例 1&#xff1a; 輸入&#xff1a;head [1,2,6,3,4,5,6], val 6 輸出&#xff1a;[1,2,3,4,5]示例 2&#xff1a; 輸入&…

如何編譯不同目錄下的兩個文件

1.直接編譯 2.打包成動靜態庫進行鏈接

【智能優化算法】蜜獾優化算法(Honey Badger Algorithm,HBA)

蜜獾優化算法(Honey Badger Algorithm,HBA)是期刊“MATHEMATICS AND COMPUTERS IN SIMULATION”&#xff08;IF 3.6&#xff09;的2022年智能優化算法 01.引言 蜜獾優化算法(Honey Badger Algorithm,HBA)受蜜獾智能覓食行為的啟發&#xff0c;從數學上發展出一種求解優化問題的…

【AMBA Bus ACE 總線 9 -- Non-cache IO device】

請閱讀【AMBA Bus ACE 總線與Cache 專欄 】 歡迎學習:【嵌入式開發學習必備專欄】 文章目錄 ACE Non-cache IO device非緩存I/O的工作原理在ARM中配置非緩存I/O示例場景Non-cache IO device Cache 訪問ACE Non-cache IO device 在ARM架構中,ACE(AXI Coherency Extension,…