GreyCrew
@GreyCrew
Full-stack developer

Как (и можно ли) парсить данные через javascript?

Пишу клиентское приложение (интерактивную карту участка) Заказчик попросил указать погоду в данной местности(есть только на gismeteo), у меня появилась идея запарсить от туда эти значения,

https://www.gismeteo.ru/city/daily/186725/

Ранее писал парсеры на php, а тут клиентское приложения и ради этого не хочется использовать php, посоветуйте как можно это сделать с помощью javascript, может какие библиотеки специальные есть?
  • Вопрос задан
  • 583 просмотра
Решения вопроса 1
alexey-m-ukolov
@alexey-m-ukolov Куратор тега JavaScript
Что такое парсинг? Это процесс, состоящий из двух шагов:
  1. Получение содержимого какой-либо страницы.
  2. Переработка этого содержимого в какой-то определённый формат.


С первым шагом, казалось бы, проблем нет, ведь есть ajax. Но там есть ограничение на same-origin, которое нужно иметь ввиду.
Второй шаг тоже прост - строите DOM-дерево и ищете что хотите стандартными методами. А если отдаётся json, то и вовсе красота.

Но если хорошо подумать, то таким образом легко отстрелить ногу пользователю - запрос может зависнуть, нагрузить браузер клиента и т.п. А данные меняются раз в день или даже реже.
Разумнее всё-таки в этой ситуации написать отдельный скрипт-парсер, который раз в день по крону будет запускаться и писать куда-то полученные значения. А клиенты уже будут их забирать с сервера либо вместе со страницей, либо отдельным запросом.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
VovanR
@VovanR
Фронт-энд Вэб-разработчик
Плохая идея парсить гисметео, так как это запрещено в Пользовательском соглашении
Лучше составить готовый информер тут https://www.gismeteo.ru/informers/ но опять нужно читать условия использования, которые могут не подойти https://www.gismeteo.ru/informers/offer/
Такие дела.
Ответ написан
AMar4enko
@AMar4enko
Посмотрите, может на openweathermap.org есть нужные вам данные
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
19 апр. 2024, в 15:01
35000 руб./за проект
19 апр. 2024, в 14:12
30000 руб./за проект