Страница 11 из 22
Re: Модуль "Погода от Яндекс"
Добавлено: Чт мар 24, 2016 3:05 pm
nick7zmail
Aleks130699 писал(а):
Не помогло, и в браузере эта страница не открывается.
Да сервера яндекса это тупят в последнее время...если пообновлять страницу, убрать/снова вставить city_id, тогде покажется xml-ка.
Re: Модуль "Погода от Яндекс"
Добавлено: Пн апр 04, 2016 8:09 am
alekszander
Не понятное что происходит с яндексом. Захожу с работы по ссылке, все отлично, зашел. При попытке зайти с дома по ссылке
https://export.yandex.ru/weather-ng/forecasts/31960.xml "Страница не работает". Провайдер говорит что проблема на стороне яндекса. Запускаю прокси через канаду все открывается, только как заставить открывать мдм череыз проксю так и осталось непонятным. Обиделся на нас Яндекс.
Re: Модуль "Погода от Яндекс"
Добавлено: Пн апр 04, 2016 2:23 pm
sergejey
Есть небольшое пожелание к модулю - можно ли температуру со знаком сохранять? т.е. если +6, то сохранять именно "+6", а не "6". Графики нормально проглатывают оба варианта, но со знаком для наглядности лучше.
Re: Модуль "Погода от Яндекс"
Добавлено: Ср апр 06, 2016 11:46 pm
alekszander
В общем у кого не работает export.yandex.ru. Ниже ответ Яндекса по этому поводу.
Сервис export.yandex.ru существует сугубо для собственных продуктов и сервисов Яндекса и наших официальных партнеров. Он может в любой момент меняться или быть отключен. За всеми публичными API и технологиями, пожалуйста, обращайтесь на ресурс tech.yandex.ru.
Re: Модуль "Погода от Яндекс"
Добавлено: Вс апр 10, 2016 11:27 am
ингвар
Так а как можно еще погоду вытягивать если export.yandex.ru не работает ?
Re: Модуль "Погода от Яндекс"
Добавлено: Вс апр 10, 2016 12:02 pm
nick7zmail
ингвар писал(а):Так а как можно еще погоду вытягивать если export.yandex.ru не работает ?
OpenWeather
Re: Модуль "Погода от Яндекс"
Добавлено: Пн апр 11, 2016 4:52 am
alekszander
У кого не работает погода от Яндекс, есть временное решение.
Расскажу как делал у себя.
На файлопомойке (она на debian), создал небольшой скрипт вот с таким содержанием
Код: Выделить всё
#!/bin/bash
rm /var/www/UI/31960.xml
https_proxy="http://119.9.53.81:3128" wget -P /var/www/UI/ https://export.yandex.ru/weather-ng/forecasts/31960.xml --no-check-certificate
теперь по скрипту (знаю что он написан правой ногой стоя на голове)
путь для сохранения
id города
прокси сервер (пока работает) если нет надо пробовать другие (поискать)
http://proxy-besplatno.com/
ну a дальше все знакомо.
Ссылка на сам файл
Код: Выделить всё
https://export.yandex.ru/weather-ng/forecasts/31960.xml
Не проверять сертификат
После того как скрипт создан добавляем в cron
Код: Выделить всё
# m h dom mon dow command
* */1 * * * /root/download.sh
Далее в файле app_yaweather.class строка 245 меняете ссылку на свою менять только
http://192.168.1.146/UI
Код: Выделить всё
$data_file = 'http://192.168.1.146/UI/'.$city.'.xml';
Собственно все. Но это временный костыль есть информация что яндекс планирует закрыть доступ к export.yandex.ru в конце апреля 2016 года. Но как говорится поживем увидим.
Re: Модуль "Погода от Яндекс"
Добавлено: Пн апр 11, 2016 7:37 pm
ToteMeiSter
Второй день пытаюсь скрипт через прокси заставить работать. Ваш вариант тоже норм, но хочется внутри модуля решение сделать.
Отправлено с моего ZTE V970 через Tapatalk
Re: Модуль "Погода от Яндекс"
Добавлено: Пн апр 11, 2016 9:47 pm
skysilver
ToteMeiSter писал(а):Второй день пытаюсь скрипт через прокси заставить работать. Ваш вариант тоже норм, но хочется внутри модуля решение сделать.
Например, так можно попробовать.
Код: Выделить всё
//Функция get с поддержкой прокси
function get($url, $proxy) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.1) Gecko/2008070208');
curl_setopt($ch, CURLOPT_PROXY, "$proxy");
$resp = curl_exec($ch);
curl_close($ch);
return $resp;
}
// Адрес прокси
$prox = 'IP:PORT';
// Запрос к Яндексу через функцию get
$yaXML = get("http://export.yandex.ru/weather-ng/forecasts/$city_id.xml", $prox);
// Сохраним полученную XML-ку локально
file_put_contents("$city_id.xml", $yaXML);
// Далее загружаем нашу XML-ку с локального сервера, проверяем на валидность
// и разбираем на параметры, как раньше.
$xml = @simplexml_load_file("http://localhost/$city_id.xml");
Само-собой, даже через прокси Яндекс не всегда отдает корректную xml-ку, поэтому надо делать несколько попыток и выполнять обработку ошибок. Также, думаю, нет смысла дергать сервак Яндекса чаще двух раз в час, - все-равно там данные редко обновляются.
А в целом, пора завязывать попытки реанимации погоды от Яндекса и сосредоточиться на добавлении в MajorDoMo других погодных сервисов.

Re: Модуль "Погода от Яндекс"
Добавлено: Ср апр 13, 2016 2:36 pm
ILGAS