[Logo]
LUA Форум
  [Search] Поиск   [Recent Topics] Последние темы   [Hottest Topics] Горячие темы   [Members]  Список участников   [Groups] На главную страницу 
[Register] Регистрация / 
[Login] Вход 
Парсинг gismeteo.ru  XML
Индекс форума » LUA: Общие вопросы
Автор Сообщение
theelephant
Новичок
[Avatar]

Зарегистрирован: 19/03/2008 13:20:15
Сообщений: 8
Оффлайн

переписываю парсер погоды с бота.... беру страницы типо http://informer.gismeteo.ru/rss/27715.xml




толкового мана по регулярным нету :(
пробывал ".-<item>.-<title>(.-)</title>.-<description>.-</description>.-</item>.-"

Это сообщение было редактировано 1 раз. Последнее обновление произошло в 19/03/2008 13:29:01


Слоны бывают разные. Черные, белые, красные...
smz
ГУРУ

Зарегистрирован: 14/03/2008 13:23:00
Сообщений: 245
Оффлайн

Здесь из паттерна нужно убрать обе пары /r/n, тогда должно получиться.
А какой смысл в w[1] для стринга? Имелось в виду w:sub(1,1) ?
theelephant
Новичок
[Avatar]

Зарегистрирован: 19/03/2008 13:20:15
Сообщений: 8
Оффлайн

я думал он массив возвращает...

пары убрал получилось



но цикл НИ разу не идет

Это сообщение было редактировано 1 раз. Последнее обновление произошло в 19/03/2008 14:15:42


Слоны бывают разные. Черные, белые, красные...
smz
ГУРУ

Зарегистрирован: 14/03/2008 13:23:00
Сообщений: 245
Оффлайн

Если цикл ни разу не идёт, то что же у тебя "получилось"?
theelephant
Новичок
[Avatar]

Зарегистрирован: 19/03/2008 13:20:15
Сообщений: 8
Оффлайн

фиг его знает...
s заполнена данными с страницы

Слоны бывают разные. Черные, белые, красные...
smz
ГУРУ

Зарегистрирован: 14/03/2008 13:23:00
Сообщений: 245
Оффлайн

А, ещё одна ошибка.
Вместо (.*?) нужно (.-)
theelephant
Новичок
[Avatar]

Зарегистрирован: 19/03/2008 13:20:15
Сообщений: 8
Оффлайн

Вышло смотрим...


выдает две строчки
Раз раз раз! проверка! раз! Тула: День 19 мар, Ср
Раз раз раз! проверка! раз! Тула: Вечер 19 мар, Ср


вопросы... где ещё 2 строчки (ночь/утро)?
и где поле description ....

Это сообщение было редактировано 2 раз. Последнее обновление произошло в 19/03/2008 14:48:03


Слоны бывают разные. Черные, белые, красные...
smz
ГУРУ

Зарегистрирован: 14/03/2008 13:23:00
Сообщений: 245
Оффлайн

theelephant
Новичок
[Avatar]

Зарегистрирован: 19/03/2008 13:20:15
Сообщений: 8
Оффлайн

Ы ступил только ещё 2 мессаги (ночь/утро) он не показывает

Слоны бывают разные. Черные, белые, красные...
al
ГУРУ
[Avatar]

Зарегистрирован: 04/02/2008 20:12:56
Сообщений: 127
От: Poltava, Ukraine
Оффлайн

theelephant wrote:Ы ступил только ещё 2 мессаги (ночь/утро) он не показывает


Посмотри в сторону LuaExpat http://www.keplerproject.org/luaexpat/lom.html

Lua Object Model (LOM) is a representation of XML elements through Lua data types. Currently it is not supposed to be 100% complete, but simple.



Но у него пока маленький глюк, - он вылетает когда находит не latin1 символ,
багрепорт авторам направлен.
[Email] [ICQ]
Scriptologist
Новичок

Зарегистрирован: 01/03/2008 05:42:36
Сообщений: 1
Оффлайн

Непонял сути вопроса, если надо вытащить текст погоды из xml то вот пример
[ICQ]
al
ГУРУ
[Avatar]

Зарегистрирован: 04/02/2008 20:12:56
Сообщений: 127
От: Poltava, Ukraine
Оффлайн

Scriptologist wrote:Непонял сути вопроса, если надо вытащить текст погоды из xml то вот пример


Так надеюсь понятнее:

require"lxp"
require"lxp.lom"

tab = lxp.lom.parse([[
<rss xmlns:gismeteo="http://www.gismeteo.ru" version="2.0">
<channel>
<title>GISMETEO.RU: English</title>
<link>http://www.gismeteo.ru</link>
<description>Test Descr</description>
<ttl>60</ttl>
</channel>
</rss>
]])


--1. rss
-- 1. attr rss (xmlns:gismeteo="http://www.gismeteo.ru" version="2.0")
-- 2. channel
-- 1. attr tag chanel (пусто)
-- 2. tag title
-- 3. attr tag title (пусто)
-- 4. tag link
-- 4. tag description
-- 5. tag ttl

rss = 1
rss_attr = 1
channel = 2
channel_attr = 1
title =2
title_attr=3
link=4
link_attr=5
description =6
description_attr =7
ttl=8
ttl_attr=9

value = 1 -- значение тега


print(tab[channel][title][value])
print(tab[channel][link][value])
print(tab[channel][ttl][value])
[Email] [ICQ]
theelephant
Новичок
[Avatar]

Зарегистрирован: 19/03/2008 13:20:15
Сообщений: 8
Оффлайн

--1. rss
-- 1. attr rss (xmlns:gismeteo="http://www.gismeteo.ru" version="2.0")
-- 2. channel
-- 1. attr tag chanel (пусто)
-- 2. tag title
-- 3. attr tag title (пусто)
-- 4. tag link
-- 4. tag description
-- 5. tag ttl

rss = 1
rss_attr = 1
channel = 2
channel_attr = 1
title =2
title_attr=3
link=4
link_attr=5
description =6
description_attr =7
ttl=8
ttl_attr=9

value = 1 -- значение тега


а нафига определять такую кучу переменных... я не врубился

Слоны бывают разные. Черные, белые, красные...
al
ГУРУ
[Avatar]

Зарегистрирован: 04/02/2008 20:12:56
Сообщений: 127
От: Poltava, Ukraine
Оффлайн

theelephant wrote:
--1. rss
-- 1. attr rss (xmlns:gismeteo="http://www.gismeteo.ru" version="2.0")
-- 2. channel
-- 1. attr tag chanel (пусто)
-- 2. tag title
-- 3. attr tag title (пусто)
-- 4. tag link
-- 4. tag description
-- 5. tag ttl

rss = 1
rss_attr = 1
channel = 2
channel_attr = 1
title =2
title_attr=3
link=4
link_attr=5
description =6
description_attr =7
ttl=8
ttl_attr=9

value = 1 -- значение тега


а нафига определять такую кучу переменных... я не врубился


Я тебе наглядно показываю откуда появляются значения, конечно же можно сделать так:



и нечего не объявлять
[Email] [ICQ]
theelephant
Новичок
[Avatar]

Зарегистрирован: 19/03/2008 13:20:15
Сообщений: 8
Оффлайн

я тупка

Слоны бывают разные. Черные, белые, красные...
 
Индекс форума » LUA: Общие вопросы
Перейти:   
Powered by JForum 2.1.8 © JForum Team