Bor*_*lis 6 python r image download
我正在寻找一种自动下载卫星图像的方法.屏幕截图显示了我有兴趣下载的文件的类型和格式(.ntf和150MB文件).
我遇到了来自TheBioBucket的以下代码看起来很有希望,尽管R包XML已经过时了.
require(XML)
dir.create("D:/GIS_DataBase/DEM/")
setwd("D:/GIS_DataBase/DEM/")
doc <- htmlParse("http://www.viewfinderpanoramas.org/dem3.html#alps")
urls <- paste0("http://www.viewfinderpanoramas.org", xpathSApply(doc,'//*/a[contains(@href,"/dem1/N4")]/@href'))
names <- gsub(".*dem1/(\\w+\\.zip)", "\\1", urls)
for (i in 1:length(urls)) download.file(urls[i], names[i])
Run Code Online (Sandbox Code Playgroud)
有没有一种很好的方法来自动化使用R或Python以编程方式下载.ntf文件的过程?

在 Python 中抓取绝对是很容易实现的。
# collect.py
import urllib, urllib2, bs4
from urlparse import urljoin
soup = bs4.BeautifulSoup(urllib2.urlopen("http://www.viewfinderpanoramas.org/dem3.html#alps"))
links = soup.find_all('a')
for link in links:
try:
if "/dem1/N4" in link['href']:
url = urljoin("http://www.viewfinderpanoramas.org/", link['href'])
filename = link['href'].split('/')[-1]
urllib.urlretrieve(url, filename)
#break
except:
pass
Run Code Online (Sandbox Code Playgroud)
您可能想要更改文件名以包含要放置文件的路径