И опять чинил PogodaStatusBar
Прям заметно, что эпоха открытого веба закончилась. Было время вокруг были открытые сервисы, используй сколько влезет. Потом всё
В общем, прошла неделя и мне снова прикрыли лавочку — урл «Гисметео», который я использовал, чтобы определять айди населённого пункта по названию вдруг меня забанил. На любой запрос выдаётся «доступ запрещён». Да что ж такое!
Полез я снова смотреть погодный плагин, смотреть как сделано там. Он же
Координаты у меня уже есть, я их могу забрать у «Яндекса», надо только распарсить:
@functools.cache
def _getRegionData(self):
try:
url = "https://yandex.ru/tune/geo/"
content = urllib.request.urlopen(url).read().decode('utf-8')
region_data = re.search(r'data-bem="([^"]+coords[^"]+)"', content).group(1)
parsed_region_data = json.loads(html.unescape(region_data))
# {'id': xx, 'region': 'XXXXX', 'coords': ['XX.XXXXX', 'XX.XXXXX'], 'accuracy': 'XXXXXX'}
return parsed_region_data['checkbox']['auto']
except (IOError, AttributeError):
return NoneВ итоге, получилась такая схема: в «Яндексе» получаем координаты и айди населённого пункта у «Яндекса», по этому айди получаем информацию по пробкам. Далее по координатам получаем айди населённого пункта у «Гисметео», по которому получаем погоду.
Комментарии 6
Юзал такое для раздачи по dlna, на работе на айпифоны слали и тп.
Может глянуть что у них там есть и подобрать мелкую картинку?
Стабильно шлёт мне на пейджер погоду.