循环没有 HTML 文件的公共映像目录



我正试图从美国国家海洋和大气管理局/国家气象局的中动态获取图像

https://radar.weather.gov/ridge/RadarImg/N0R/MTX

使用JavaScript,事实证明这很棘手。尽管图像文件的名称是标准的/可预测的,但命名约定的一部分包括捕获图像的时间,并且这些时间各不相同,因此在目录中循环而不是进行大量猜测更有意义。我知道,由于明显的安全问题,扫描目录通常是不允许的,所以我尝试在iframe中打开它,但没有"index.html"文件本身——所有的html似乎都是由浏览器自动生成的,因此没有DOM可以使用。

那么,以前有人处理过这样的事情吗?我被难住了。

位于该URL的服务器实际上会使用您在浏览器中看到的HTML进行响应。下面是一个解析node.js:中该目录中图像的示例

const DOM = require('dom-parser')
const axios = require('axios')
axios.get('https://radar.weather.gov/ridge/RadarImg/N0R/MTX/').then((res) => {
const dom = new DOM().parseFromString(res.data)
const imageUrls = dom.getElementsByTagName('a')
.map(link => link.getAttribute('href'))
.filter(url => url && url.match('gif$'))
console.log(imageUrls)
})

最新更新