myDC.ru

Здравствуйте, гость ( Вход | Регистрация )

 

> Weather [ Api 1&2 ] [ By Nickolya ], API2 | Расширенная погода с rp5.ru

Теги
Nickolya
сообщение 4.10.2008, 17:24
Сообщение #41


Главный ра******й тут...
*********

Группа: Главные администраторы
Сообщений: 1 727
Регистрация: 18.5.2008
Из: RF, 2la
Пользователь №: 1
Спасибо сказали: 776 раз




Нашел вот в закромах у себя скрипт погоды, был даже сделан под оба апи, на сколько я помню, не выкладывал.
Для работы требуется библиотека сокетов! Вот тут ее можно взять.
Для работы с вашим городом идем на rp5.ru и ищем там свой код города, вставляем его в ссылку в настройках в главном файле скрипта. Код открыт, так что ковыряйте сколько влезет big_smile.gif
Вот результат работы (полный просмотр):

Цитата
<PtokaX> Погода в Туле. Расписание Погоды:
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
В 13:00 было +18.8°C, облачность 7-8 баллов, влажность 60%, ветер ЮЮЗ, 3 м/с
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[ сб, 4 о. ]
\_ На 22:00: +13°C, без осадков, малооблачно (облачность 19%), влажность 76%, ветер Южный, 4 м/с, давление 745 мм рт. ст.
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[ воскресенье, 5 октября ]
\_ На 04:00: +10°C, без осадков, переменная облачность (35%), влажность 80%, ветер Южный, 4 м/с, давление 745 мм рт. ст.
\_ На 10:00: +11°C, осадки (0.2 мм / 6 час), пасмурная погода (облачность 100%), влажность 82%, ветер Юго-Восточный,
4 м/с, давление 744 мм рт. ст.
\_ На 16:00: +15°C, преимущественно без осадков (0.1 мм / 6 час), пасмурная погода (облачность 100%),
влажность 74%, ветер Юго-Восточный, 4 м/с, давление 744 мм рт. ст.
\_ На 22:00: +12°C, без осадков, пасмурная погода (облачность 97%), влажность 81%, ветер Юго-Восточный,
2 м/с, давление 744 мм рт. ст.
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[ понедельник, 6 октября ]
\_ На 04:00: +11°C, без осадков, значительная облачность (81%), влажность 82%, ветер Южный, 3 м/с, давление 744 мм рт. ст.
\_ На 10:00: +11°C, преимущественно без осадков (0.1 мм / 6 час), пасмурная погода (облачность 100%),
влажность 90%, ветер Восточный, 5 м/с, давление 744 мм рт. ст.
\_ На 16:00: +16°C, преимущественно без осадков (0.1 мм / 6 час), пасмурная погода (облачность 100%),
влажность 73%, ветер Юго-Восточный, 4 м/с, давление 743 мм рт. ст.
\_ На 22:00: +13°C, осадки (0.2 мм / 6 час), пасмурная погода (облачность 97%), влажность 90%, ветер Юго-Восточный,
2 м/с, давление 743 мм рт. ст.
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[ вторник, 7 октября ]
\_ На 04:00: +13°C, осадки (3 мм / 12 час), пасмурная погода (облачность 100%), влажность 93%, ветер Юго-Восточный,
2 м/с, давление 743 мм рт. ст.
\_ На 16:00: +17°C, преимущественно без осадков (0.2 мм / 12 час), пасмурная погода (облачность 100%),
влажность 81%, ветер Юго-Восточный, 4 м/с, давление 744 мм рт. ст.
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[ среда, 8 октября ]
\_ На 04:00: +11°C, без осадков, малооблачно (облачность 18%), влажность 90%, ветер Юго-Западный, 2 м/с,
давление 744 мм рт. ст.
\_ На 16:00: +17°C, преимущественно без осадков (0.3 мм / 12 час), облачно (облачность 77%), влажность 62%,
ветер Южный, 2 м/с, давление 744 мм рт. ст.
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[ четверг, 9 октября ]
\_ На 04:00: +11°C, пасмурная погода (облачность 100%), влажность 93%, ветер Северный, 3 м/с, давление 745 мм рт. ст.
\_ На 16:00: +13°C, пасмурная погода (облачность 100%), ветер Северо-Восточный, 4 м/с, давление 748 мм рт. ст.
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[ пт, 10 о. ]
\_ На 04:00: +10°C, пасмурная погода (облачность 100%), ветер Восточный, 3 м/с, давление 750 мм рт. ст.
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
> Данные предоставлены rp5.ru - по лицензии Мет.Офиса Великобритании (Met Office) http://rp5.ru/town.php?id=8306
[ Этот скрипт и не только можно найти на портале для администратора хаба: http://mydc.ru/ ]
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Прикрепленные файлы
Прикрепленный файл  Weather___API_1_____by_Nickolya___from2ndAPI.rar ( 10.33 килобайт ) Кол-во скачиваний: 160
Прикрепленный файл  Weather___API_2_____by_Nickolya___last__.rar ( 5.75 килобайт ) Кол-во скачиваний: 406
 
Go to the top of the page
+Quote Post
7 страниц V  < 1 2 3 4 5 > »   
Начать новую тему
Ответов
Санёк
сообщение 25.4.2009, 20:12
Сообщение #42


Активный участник
***

Группа: Пользователи
Сообщений: 83
Регистрация: 14.3.2009
Из: Belarus', Minsk
Пользователь №: 2 593
Спасибо сказали: 0 раз




Что случилось ? Погода не обновляется!!!
Go to the top of the page
+Quote Post
KRIOS
сообщение 27.4.2009, 7:49
Сообщение #43


Абсолютный новичок


Группа: Пользователи
Сообщений: 6
Регистрация: 10.7.2008
Пользователь №: 169
Спасибо сказали: 0 раз




Цитата(KRIOS @ 25.4.2009, 13:51) *
скрипт отлично работал до сегодняшнего дня
сегодня стал выдавать вот такую ошибку:
[19:44] Syntax Weather\Core.lua:87: attempt to index local 'sArchiveData' (a nil value)

и отключается...
скрипт API 1
скачал скрипт и библиотеки заново таже самая ошибка помогите кто разбирается


вверх
Go to the top of the page
+Quote Post
Ksan
сообщение 27.4.2009, 11:14
Сообщение #44


Белый Волк
*********

Группа: Пользователи
Сообщений: 1 723
Регистрация: 11.9.2008
Из: г.Томск
Пользователь №: 516
Спасибо сказали: 657 раз




И у меня та же проблема со вчерашнего числа:
[19:44] Syntax Weather\Core.lua:88: attempt to index local 'sArchiveData' (a nil value)

Это что такое, связано с каким-то неправильным подсчётом даты (кончился лимит)? Или к Чернобыль-юбилею подарок?

АПИ 1 (Птока 0.3.6.0). До этого с осени работало как часы.
Проверил вдоль и поперёк, вроде ошибок не видно. Что-то не так с библиотеками, даже если они не испорчены?
Go to the top of the page
+Quote Post
Nickolya
сообщение 27.4.2009, 11:49
Сообщение #45


Главный ра******й тут...
*********

Группа: Главные администраторы
Сообщений: 1 727
Регистрация: 18.5.2008
Из: RF, 2la
Пользователь №: 1
Спасибо сказали: 776 раз




Значит сменилась разметка страницы на сайте и ее надо парсить уже немного по-другому. Вот изменения которые надо произвести для работы скрипта:

Для начала для тех, у кого в сообщениях отображаются теги, в духе вот этого: <div style="text-decoration: blink;color:red">11</a>
Для их исключения ищем функцию CreateMsg = function(tMadeData2, sMainTitle, sArchiveData, bNotFullData) -- создание готового сообщения о погоде, в самом ее конце вот такая конструкция:
Код
    sMadeMsg = sMadeMsg..sLine    -- сообщение: линия оформления
    return sMadeMsg    -- готово!
end
заменяем на
Код
    sMadeMsg = sMadeMsg..sLine    -- сообщение: линия оформления
    sMadeMsg = sMadeMsg:g("<.->", "")
    return sMadeMsg    -- готово!
end


Для восстановления работы скрипта делаем вот такое:
Ищем функцию MakeNeedData = function(sData) -- парсинг (обработка) данных, там ЗАменяем первые 4 строки функции и получаем вот такое ее начало:
Код
MakeNeedData = function(sData)    -- парсинг (обработка) данных
    local _,_, sArchiveData = sData:find("<table.-id=archive.->(.-)</table>")    -- ИЗМЕНЕНО! ищем архивные данные, теперь они в табличке
    sArchiveData = sArchiveData:g("<a.->.-</a>", ""):g("<.->", ""):g("  ", " "):g("\n", ""):g("%s*$", "")    -- ИЗМЕНЕНО! убираем ссылку, двойной пробел, все теги и пробел в конце
    local _,_, sMainTitle = sData:find("<TITLE>(.-)</TITLE>")    -- ИЗМЕНЕНО! ищем заголовок страницы, теперь тег заглавными...
    local _,_, sWeatherData = sData:find("<table .*id=forecast.->(.-)</table>") -- ИЗМЕНЕНО! ищем табличку с данными о погоде, тепрь вот такая стока поиска :\

Всё big_smile.gif Скрипт должен работать! На всякий случай можно удалить файл WeatherDataTable.tbl в папке скрипта Weather перед запуском измененного скрипта.

Еще можно заменить во всем скрипте (2 раза)
Код
    local r = "\r\n"    -- новая линия
на
Код
    local r = "\n"    -- новая линия
Go to the top of the page
+Quote Post
Ksan
сообщение 27.4.2009, 13:44
Сообщение #46


Белый Волк
*********

Группа: Пользователи
Сообщений: 1 723
Регистрация: 11.9.2008
Из: г.Томск
Пользователь №: 516
Спасибо сказали: 657 раз




Типа заработало, НО!!! теперь температура и давление числами поменялись. Точнее, в строке про предыдущую точку измерения показывает всё правильно, а все следующие часы во всех следующих сутках - как описал - температура и давление числами поменялись.
Вот пример:
------------------------------------------------------------------------------------------------------------------------------------------------------
В 16:00 было +9.9°C, облачность 7-8 баллов, 749.3 мм рт ст, влажность 30%, ветер ЗСЗ, 3 м/с
------------------------------------------------------------------------------------------------------------------------------------------------------
[ пн, 27 а. ]
\_ На 19:00: 749°C, без осадков, значительная облачность (85%), влажность 28%,
ветер Западный, 6 м/с, давление +9 мм рт. ст.
и т.д.

А вот это:
Цитата
Еще можно заменить во всем скрипте (2 раза)
у меня нашлось только 1 раз.
Go to the top of the page
+Quote Post
Nickolya
сообщение 27.4.2009, 14:10
Сообщение #47


Главный ра******й тут...
*********

Группа: Главные администраторы
Сообщений: 1 727
Регистрация: 18.5.2008
Из: RF, 2la
Пользователь №: 1
Спасибо сказали: 776 раз




За это отвечает функция MakeDayData = function(tData, tRows) -- сборка готовых строк данных, там ищем:
Код
            sOneData = sOneData.." \\_ На "..tData[2][iWas]..": "..tData[6][iWas].."°C, "
Код
            sOneData = sOneData.."давление "..tData[5][iWas].." мм рт. ст."

заменяем соответственно и получаем:
Код
            sOneData = sOneData.." \\_ На "..tData[2][iWas]..": "..tData[5][iWas].."°C, "
Код
            sOneData = sOneData.."давление "..tData[6][iWas].." мм рт. ст."

Ох уж эти изменения в дизайне...

По поводу 2х раз, точно, второй раз вот такой:
Код
    local sNewLine = "\r\n     "    -- новая стока начиначется с этого
на
Код
    local sNewLine = "\n     "    -- новая стока начиначется с этого
Go to the top of the page
+Quote Post
Ksan
сообщение 27.4.2009, 14:31
Сообщение #48


Белый Волк
*********

Группа: Пользователи
Сообщений: 1 723
Регистрация: 11.9.2008
Из: г.Томск
Пользователь №: 516
Спасибо сказали: 657 раз




Yesss!
Спасибо, Nickolya!
Работает нормально.
Go to the top of the page
+Quote Post
Санёк
сообщение 27.4.2009, 17:13
Сообщение #49


Активный участник
***

Группа: Пользователи
Сообщений: 83
Регистрация: 14.3.2009
Из: Belarus', Minsk
Пользователь №: 2 593
Спасибо сказали: 0 раз




Вроде бы всё сделал. Но всё равно птоха ругается на синтаксис.

Синтаксис ...Program Files\PtokaX 0.4.1.1\scripts\weathercore.txt:94: bad argument #1 to 'insert' (table expected, got nil)

Может кто зальёт в архиве полностью исправленную версию скриптА ? big_smile.gif
Go to the top of the page
+Quote Post
IceRoma
сообщение 29.4.2009, 4:28
Сообщение #50


Начинающий
*

Группа: Пользователи
Сообщений: 16
Регистрация: 3.12.2008
Пользователь №: 1 296
Спасибо сказали: 0 раз




Синтаксис ...Рабочий стол\Сервер\0.4.1.1\scripts\Weather\Core.lua:90: attempt to index local 'sArchiveData' (a nil value)
И не обновляеться... Долго работал, и на ровном месте начал хандрить)) Помогите кто может!
Go to the top of the page
+Quote Post
Nickolya
сообщение 29.4.2009, 11:22
Сообщение #51


Главный ра******й тут...
*********

Группа: Главные администраторы
Сообщений: 1 727
Регистрация: 18.5.2008
Из: RF, 2la
Пользователь №: 1
Спасибо сказали: 776 раз




IceRoma, читай ВСЮ тему, а именно несколькими постами выше!

Файлы перезалил со всеми изменениями, качаем из первого поста и тестируем. big_smile.gif
Плюс добавил удаление тегов из сообщения, так что не используйте в оформлении конструкции вида <any TEXT here>
Go to the top of the page
+Quote Post
KRIOS
сообщение 29.4.2009, 17:58
Сообщение #52


Абсолютный новичок


Группа: Пользователи
Сообщений: 6
Регистрация: 10.7.2008
Пользователь №: 169
Спасибо сказали: 0 раз




Спасибо !!! Очень помог.
Go to the top of the page
+Quote Post
Санёк
сообщение 18.5.2009, 14:47
Сообщение #53


Активный участник
***

Группа: Пользователи
Сообщений: 83
Регистрация: 14.3.2009
Из: Belarus', Minsk
Пользователь №: 2 593
Спасибо сказали: 0 раз




А как уменьшить количество разделителей ? shocked.gif
Go to the top of the page
+Quote Post
Nickolya
сообщение 18.5.2009, 16:54
Сообщение #54


Главный ра******й тут...
*********

Группа: Главные администраторы
Сообщений: 1 727
Регистрация: 18.5.2008
Из: RF, 2la
Пользователь №: 1
Спасибо сказали: 776 раз




Код
    local sLine = string.rep("-", 240)..r    -- линия оформления
думаю ясно что "-" - сам разделитель, а 240 - количество раз его повторяющее.

PS: нежелание видеть ответа когда-нибудь рассердит того кто отвечает на твои вопросы и ты останешься без ответов вообще...
PPS: http://mydc.ru/ipb.html?s=&showtopic=3...ost&p=12389
Go to the top of the page
+Quote Post
Санёк
сообщение 19.5.2009, 1:26
Сообщение #55


Активный участник
***

Группа: Пользователи
Сообщений: 83
Регистрация: 14.3.2009
Из: Belarus', Minsk
Пользователь №: 2 593
Спасибо сказали: 0 раз




Nickolya, чувак спс. тебе! big_smile.gif А то там по умолчанию уж оч. много символов.
Go to the top of the page
+Quote Post
Ksan
сообщение 22.6.2009, 17:08
Сообщение #56


Белый Волк
*********

Группа: Пользователи
Сообщений: 1 723
Регистрация: 11.9.2008
Из: г.Томск
Пользователь №: 516
Спасибо сказали: 657 раз




Не могу запустить скрипт на линуксовом сервере. Тот же скрипт без всяких изменений работает на винде. Пути под линукс прописаны правильно - при подсовывании таблицы погоды с виндового скрипта - скрипт на линуксе таблицу находит и выводит погоду по требованию, то есть, находит где надо.
А вот без этой таблицы (она только для проверки была) скрипт не запускается, пишет, что не находит библиотеки и много чего ещё:
[20:45:22] <#OpChat> /home/p2phub/PtokaX/scripts/Weather/Core.lua:30: module 'socket.http' not found:
no field package.preload['socket.http']
no file './socket/http.lua'
no file '/usr/local/share/lua/5.1/socket/http.lua'
no file '/usr/local/share/lua/5.1/socket/http/init.lua'
no file '/usr/local/lib/lua/5.1/socket/http.lua'
no file '/usr/local/lib/lua/5.1/socket/http/init.lua'
no file './socket/http.so'
no file '/usr/local/lib/lua/5.1/socket/http.so'
no file '/usr/local/lib/lua/5.1/loadall.so'
no file './socket.so'
no file '/usr/local/lib/lua/5.1/socket.so'
no file '/usr/local/lib/lua/5.1/loadall.so'

И вообще, судя по этому сообщению, в комплекте нет много чего для линуха, которые требует скрипт или что-то с подачи скрипта. Скачал библиотеки из темы по ссылке из первого сообщения данной темы.
Кто ставил на линуксовом сервере Птоки этот скрипт, если получилось, расскажите, как это вам удалось...
Кстати, строка 30 выглядит так:
http = require("socket.http") -- loads the HTTP module and any libraries it requires (загружаем библиотечку)

Добавлено через 3 часа:
Похоже, я глупость сморозил. Для линуксовой Птоки библиотеки надо собирать из исходников, а я посовывал виндовские .
Придётся кого-то просить скомпилить из скачанных исходников "luasocket-2.0.2.tar.gz"
Но все равно непонятно, куда они потом должны быть оттартаны? Или по ходу компиляции они сами занимают своё место?
Я в линухах нуль.
Go to the top of the page
+Quote Post
Strannik
сообщение 22.6.2009, 17:28
Сообщение #57


Освоившийся участник
*****

Группа: Пользователи
Сообщений: 226
Регистрация: 24.6.2008
Пользователь №: 77
Спасибо сказали: 34 раза




Цитата(sphinx @ 19.10.2008, 15:03) *
У кого есть желание потестить скрипт погоды для всех городов, вэлкам: dchub://dc.ozerki.net feel_good.gif
Команда: +погода в главном, или в меню онлайн-инфо - погода.


Есть на этом хабе скрипт ТV программы выложи пожалуста в готовых, а то нормально работающих нет
Go to the top of the page
+Quote Post
F I L I N
сообщение 8.7.2009, 22:15
Сообщение #58


Активный участник
***

Группа: Пользователи
Сообщений: 67
Регистрация: 7.12.2008
Из: Ульяновск
Пользователь №: 1 358
Спасибо сказали: 4 раза




Здрасте.. у меня вообще такая беда.. бы до этого другой скрипт по проще тоже погоду выводил.. но чето случилось с ним хз.. помоему сервак упал откуда он обновления брал о пагоде... ну вот и решил я этот скрипт поставить все вроде бы нечего нашел код города поставил запустил работает, решил стереть эти функции в скрипте которые выводят информацию о погоде в общий чат. как и говорилось в начале этого поста просто удалил их.. так вот в чем беда скрипт то работае все норм но теперь ошибка выскакивает ...[23:14] Синтаксис ...я Стронга=-\ptokax v0.4.1.1\scripts\Weather\Core.lua:39: attempt to index global 'tTimesToSendToChat' (a nil value) что именно сделал не правильно?
хотя ладно нестоит ничего высматривать.. я просто вернул обратно эти строчки.. и просто заместо 1 выставлю там нули чтобы информация невыводилась в чат )
Go to the top of the page
+Quote Post
Strannik
сообщение 8.7.2009, 22:20
Сообщение #59


Освоившийся участник
*****

Группа: Пользователи
Сообщений: 226
Регистрация: 24.6.2008
Пользователь №: 77
Спасибо сказали: 34 раза




Не нужно было удалять, а нужно было поставить перед временем две черты --
нужно внимательно сматреть скрипт , они ставятся для отключения.
Go to the top of the page
+Quote Post
F I L I N
сообщение 9.7.2009, 22:38
Сообщение #60


Активный участник
***

Группа: Пользователи
Сообщений: 67
Регистрация: 7.12.2008
Из: Ульяновск
Пользователь №: 1 358
Спасибо сказали: 4 раза




спс )) что то невник сразу то...
Go to the top of the page
+Quote Post
valdis73
сообщение 14.7.2009, 21:18
Сообщение #61


Активный участник
***

Группа: Пользователи
Сообщений: 93
Регистрация: 4.1.2009
Пользователь №: 1 670
Спасибо сказали: 6 раз




Николя скрипт хороший . Спасибо. А нельзя сделать на 10-15 городов? Я видел на кобре такой скрипт пашет. А с харькове твой скрипт поставили 12 раз для каждого города. Но бред же. Один нельзя на 15 или более городов?
Go to the top of the page
+Quote Post

7 страниц V  < 1 2 3 4 5 > » 
Ответить в данную темуНачать новую тему
9 чел. читают эту тему (гостей: 9, скрытых пользователей: 0)
Пользователей: 0

Collapse

> Похожие темы

  Тема Ответов Автор Просмотров Последнее сообщение
No new Topic has attachmentsWeather
API2 | Скрипт погоды.
109 Fodin 118 314 27.11.2012, 16:42 Посл. сообщение: Артём
No New Posts Topic has attachmentsWeather [ RusHub ] [ By Nickolya ]
Расширенная погода с rp5.ru
3 Saymon21 10 254 11.7.2012, 17:00 Посл. сообщение: KCAHDEP
No new Topic has attachmentsChatNickChanger by Nickolya
API2 | Скрипт смены ников выводимых в чат
16 Saymon21 17 605 20.12.2011, 8:25 Посл. сообщение: alex82
No New Posts Topic has attachmentsWeather
Вывод прогноз погоды
1 Vizunchik 7 577 17.11.2011, 13:42 Посл. сообщение: Vizunchik
No New Posts От: Weather
От темы с ID: 244
3 Артём 6 892 20.12.2010, 22:34 Посл. сообщение: Cost-iron
No new Topic has attachmentsUserinfo [ By Nickolya ] [ Sqlite Db ] [ Lua5.1 ] [ Api 1 ]
API1 | Скрипт оффлайн информации по юзерам
20 Nickolya 27 659 2.11.2010, 9:05 Посл. сообщение: kool
No New Posts От: Weather [ Api 1&2 ] [ By Nickolya ]
От темы с ID: 393
0 ustas 5 759 8.8.2009, 18:36 Посл. сообщение: ustas

 



RSS Сейчас: 23.11.2024, 7:58