L oop каталог изображений publi c, в котором нет файла HTML - PullRequest
0 голосов
/ 06 апреля 2020

Я пытаюсь динамически получить изображения от NOAA / Национальной службы погоды здесь

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

с использованием JavaScript, и это оказывается сложно. Несмотря на то, что имена файлов изображений являются стандартными / предсказуемыми, часть соглашения об именах включает в себя время, в которое было снято изображение, и эти времена меняются, поэтому имеет смысл логически проходить через каталог * oop, а не просто много догадок. Я знаю, что сканирование каталогов, как правило, не разрешено из-за очевидных проблем безопасности, поэтому я попытался открыть его в iframe, но сам файл index. html отсутствует как таковой - все html выглядит автоматически генерируется браузером, поэтому нет DOM для работы.

Так кто-нибудь имел дело с чем-то подобным раньше? Я в тупике.

1 Ответ

0 голосов
/ 06 апреля 2020

Сервер по этому 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)
})
...