myDC.ru

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

 
 
Ответить в данную темуНачать новую тему

> Ленты Rss, API | Не парсит UTF-8

Теги
Нет тегов для показа
district
сообщение 13.11.2008, 18:51
Сообщение #1


Постоялец
******

Группа: Пользователи
Сообщений: 454
Регистрация: 17.10.2008
Из: Новосибирск
Пользователь №: 825
Спасибо сказали: 90 раз




Выкладываю скрипт.
Цитата
*** This script requires PxWSA Socket Library and PtokaX >= 3.3.21 ***

Кое-что удалось подчистить, исключить паразитные символы при выводе лент.
Но UTF-8 парсить категорически не хочет.
В чарсете - копался, и так, и эдак, но добиться, чтобы скрипт ХОТЬ КАК-ТО отображал RSS в кодировке utf-8, не получается. А жаль, есть пара сайтиков, ленты которых с удовольствием прикрутил бы к хабу.
В чем тут может быть дело? В неправильной версии PxWSA? (?)
Прикрепленные файлы
Прикрепленный файл  b_RSSFeed.rar ( 18.4 килобайт ) Кол-во скачиваний: 16
 
Go to the top of the page
+Quote Post
Wariner
сообщение 13.11.2008, 18:54
Сообщение #2


Самый главный активист :-D
***********

Группа: Модераторы
Сообщений: 2 790
Регистрация: 29.6.2008
Из: г. Тула
Пользователь №: 97
Спасибо сказали: 440 раз




Прошу прощения за оффтоп, но мог бы заодно кто нить рассказать обо всём этом по подробнее! Как, чего и откуда берётся?! (по аналогии с каким то скриптом могу сделать а вот до конца понять не получается)

PS имеется ввиду взятие данных из инета
Go to the top of the page
+Quote Post
district
сообщение 13.11.2008, 19:13
Сообщение #3


Постоялец
******

Группа: Пользователи
Сообщений: 454
Регистрация: 17.10.2008
Из: Новосибирск
Пользователь №: 825
Спасибо сказали: 90 раз




<тут я спросонья проповедовал прописные истины мимо кассы, извиняюсь> big_smile1.gif
Go to the top of the page
+Quote Post
Sephiroth_Lukaw
сообщение 13.11.2008, 19:52
Сообщение #4


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

Группа: Пользователи
Сообщений: 307
Регистрация: 11.7.2008
Пользователь №: 173
Спасибо сказали: 31 раз




Библиотека дополнительная нужная для работы с utf-8.
upd.
Прикрепил, проверял, даже использовал, рабочая она.
upd. Собственно, нашёл гуглом, откуда я её скачивал.
http://adrium.ipbfree.com/index.php?showtopic=125
Прикрепленные файлы
Прикрепленный файл  api_magnet.zip ( 1.39 мегабайт ) Кол-во скачиваний: 22
 
Go to the top of the page
+Quote Post
district
сообщение 14.11.2008, 0:42
Сообщение #5


Постоялец
******

Группа: Пользователи
Сообщений: 454
Регистрация: 17.10.2008
Из: Новосибирск
Пользователь №: 825
Спасибо сказали: 90 раз




Sephiroth_Lukaw

ммм.. собственно, за ссылку спасибо, за архив тоже. Правда, поскочивши в три ночи и глядя в экран, пока мало что понимаю shocked.gif
по -моему, это немного из другой оперы.
В скрипте есть свои внутренние чарсеты (таблицы соответствия кодов символов и самих выводимых символов). Таблиц три, кодировок тоже три. Две работают, та, что отвечает за утф-8 - нет.
Проверил скрипт "magnet", как рассказано по ссылке. Скрипт работает, дублирует белиберду магнет-ссылки нормальным названием файла.
(Правда, в новых клиентах, PeLink например, это уже реализовано - ссылочка подается без посторонних символов, как на блюдечке)
Прикрутил для пробы ленту в кодировке утф-8, запросил - опять кракозяблы.
Или я чего-то пока что недопонял, или проблема в другом. :xz:
Go to the top of the page
+Quote Post
Sephiroth_Lukaw
сообщение 14.11.2008, 0:49
Сообщение #6


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

Группа: Пользователи
Сообщений: 307
Регистрация: 11.7.2008
Пользователь №: 173
Спасибо сказали: 31 раз




Я в этот скрипт как-раз таки(т.е. под API 1) вставлял поддержку UTF-8. Сейчас прикреплю его.
upd. Прикпрепил. api.dll в каталог scripts ложи.
Прикрепленные файлы
Прикрепленный файл  RSS.rar ( 18.1 килобайт ) Кол-во скачиваний: 15
 
Go to the top of the page
+Quote Post
district
сообщение 14.11.2008, 1:34
Сообщение #7


Постоялец
******

Группа: Пользователи
Сообщений: 454
Регистрация: 17.10.2008
Из: Новосибирск
Пользователь №: 825
Спасибо сказали: 90 раз




Что-то пока крах.
Скрипт ты выложил по сути тот же самый, как у меня и есть, v.2.3, только с дописанной в начале строкой
Код
utf8toansi = package.loadlib("api.dll", "_utf8_to_ansi")

Он у меня и родную рабочую папку со ссылками на RSS ленты вычитал на раз.
Но результат пока тот же: кракозяблы.
И в папку скриптс клал дллку, и в "либс", и в корневой каталог Птоки, как рекомендовано по приведенной выше ссылке на Адриум.
Go to the top of the page
+Quote Post
Sephiroth_Lukaw
сообщение 14.11.2008, 3:14
Сообщение #8


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

Группа: Пользователи
Сообщений: 307
Регистрация: 11.7.2008
Пользователь №: 173
Спасибо сказали: 31 раз




Перезалил и rar'ом сжал, теперь надо в описании ленты с UTF-8 вписывать "UTF-8", к примеру:
Цитата
[04:45] <Yaoi> Добавление ленты RSS :
Команда вызова: !test2
Описание: Lent UTF-8

Как определять utf-8 в lua не знаю, сознаюсь, так что сделал так. )
Go to the top of the page
+Quote Post
district
сообщение 14.11.2008, 9:55
Сообщение #9


Постоялец
******

Группа: Пользователи
Сообщений: 454
Регистрация: 17.10.2008
Из: Новосибирск
Пользователь №: 825
Спасибо сказали: 90 раз




Что ж, спасибо коллеге за ночной "мозговой штурм".
Что мы имеем? Мы имеем частичное решение проблемы за счет стороннего (не-штатного) dll и кое-каких дополнительных ухищрений.
И можно бы это было так и оставить, но! Паразитные символы исходного кода ленты, как-то:
Цитата
[6] = "</span>",
[7] = "</p>",
[8] = "</a>",
,
будучи учтенными в самом скрипте, в выводимом тексте не-утфного кода - не отображаются.
Обработкой утф-8 теперь, насколько я понял, занимается не скрипт, а та самая сторонняя дллка.
Поэтому победить эти самые символы в выводимом тексте утф-8 и получить нормальный текст без мусора - пока не получается.
В общем, вопрос остается в известном смысле открытым.
Мне лично все-таки кажется, что есть какая-то ошибка в самом скрипте, ведь он изначально был под LUA 5.0, и вот на этапе апгрейда что-то было упущено. А правильно скрипт называется " bRSS v.2.3 LUA 5 b.y: S.t.0.n.e d.b Частичный перевод, модернизация, подбор оформления лент by Der Schaman"
Go to the top of the page
+Quote Post
sphinx
сообщение 20.11.2008, 9:24
Сообщение #10


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

Группа: Заблокированные
Сообщений: 87
Регистрация: 16.10.2008
Пользователь №: 805
Спасибо сказали: 35 раз




Цитата(district @ 13.11.2008, 18:51) *
есть пара сайтиков, ленты которых с удовольствием прикрутил бы к хабу.

А что за ленты? Я бы проверил у себя.
Go to the top of the page
+Quote Post
district
сообщение 20.11.2008, 10:41
Сообщение #11


Постоялец
******

Группа: Пользователи
Сообщений: 454
Регистрация: 17.10.2008
Из: Новосибирск
Пользователь №: 825
Спасибо сказали: 90 раз




sphinx

Да вот хотя бы: h**p://pcmusic.ru/rss.xml
Go to the top of the page
+Quote Post
Setuper
сообщение 20.11.2008, 13:24
Сообщение #12


RusHub team lead
**************

Группа: Модераторы
Сообщений: 4 030
Регистрация: 20.6.2008
Из: г. Королёв (Моск. обл.)
Пользователь №: 46
Спасибо сказали: 1708 раз




http://mydc.ru/ipb.html?s=&showtopic=3...post&p=2276
Go to the top of the page
+Quote Post
sphinx
сообщение 20.11.2008, 14:04
Сообщение #13


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

Группа: Заблокированные
Сообщений: 87
Регистрация: 16.10.2008
Пользователь №: 805
Спасибо сказали: 35 раз




Цитата(district @ 20.11.2008, 10:41) *
sphinx

Да вот хотя бы: h**p://pcmusic.ru/rss.xml

Зайди на хаб и напиши +музыка в главном чате big_smile.gif
Go to the top of the page
+Quote Post
district
сообщение 20.11.2008, 14:41
Сообщение #14


Постоялец
******

Группа: Пользователи
Сообщений: 454
Регистрация: 17.10.2008
Из: Новосибирск
Пользователь №: 825
Спасибо сказали: 90 раз




sphinx

Зашел, увидел, ощутил )) И в чем фокус-то? В том, что "This Hub Is Running PtokaX DC Hub 0.4.1.1" ? Так это увы не мой случай...
И еще - ссылки не отображаются (не подсвечиваются).

Setuper

За ссылку как обычно, "спасибо", но там "без бутылки не разберешься", и "я столько не выпью" big_smile.gif Обязательно поизучаю, как разгребу более насущное.
Go to the top of the page
+Quote Post
sphinx
сообщение 20.11.2008, 21:01
Сообщение #15


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

Группа: Заблокированные
Сообщений: 87
Регистрация: 16.10.2008
Пользователь №: 805
Спасибо сказали: 35 раз




Цитата(district @ 20.11.2008, 14:41) *
sphinx

Зашел, увидел, ощутил )) И в чем фокус-то? В том, что "This Hub Is Running PtokaX DC Hub 0.4.1.1" ? Так это увы не мой случай...
И еще - ссылки не отображаются (не подсвечиваются).

Какие ссылки? что-то не догнал я. И это не к тому, что версия новая. Я на нее перешел неделю назад big_smile.gif
Тебе нужна таблица перекодировки UTF8 - 1251. Найти ее несложно, сделать автозамену еще проще, дерзай!

А вообще, библиотека отвечает только за получение текста, а парсинг - перекодировку, форматирование и т.п. - делается скриптом.
Go to the top of the page
+Quote Post
district
сообщение 20.11.2008, 21:28
Сообщение #16


Постоялец
******

Группа: Пользователи
Сообщений: 454
Регистрация: 17.10.2008
Из: Новосибирск
Пользователь №: 825
Спасибо сказали: 90 раз




sphinx
Цитата
библиотека отвечает только за получение текста, а парсинг - перекодировку, форматирование и т.п. - делается скриптом.

Вот и я о том же, что скрипт как надо не работает, таков и сабж топика, собственно.
Будь добр, выложи тот, что у тебя стоит? Если не жалко.

http-ссылки в RSS-потоках, полученных в не-утфной кодировке, у меня подсвечиваются и работают.
При получении ленты по вышеуказанной ссылке у тебя на хабе - ссылки в ней выглядели просто как обычный текст, вот я о чем.
Go to the top of the page
+Quote Post
Wariner
сообщение 20.11.2008, 21:39
Сообщение #17


Самый главный активист :-D
***********

Группа: Модераторы
Сообщений: 2 790
Регистрация: 29.6.2008
Из: г. Тула
Пользователь №: 97
Спасибо сказали: 440 раз




Цитата(district @ 20.11.2008, 21:28) *
ссылки в ней выглядели просто как обычный текст, вот я о чем.

Так это зависит от того как написанна ссылка. если есть http:// (dchub:// и т.д.) то она будет подсвечена если нет то не будет... Или я не о том?
Go to the top of the page
+Quote Post
district
сообщение 21.11.2008, 0:17
Сообщение #18


Постоялец
******

Группа: Пользователи
Сообщений: 454
Регистрация: 17.10.2008
Из: Новосибирск
Пользователь №: 825
Спасибо сказали: 90 раз




Wariner

Немного не о том. Дело в том, что у меня при вызове ленты в кодировке утф-8 нормально ссылки показываются, и латиница.
Т.е. в исходном коде RSS все правильно.
Проблема только в том, что скрипт не парсит кириллицу.
Go to the top of the page
+Quote Post

Ответить в данную темуНачать новую тему
21 чел. читают эту тему (гостей: 21, скрытых пользователей: 0)
Пользователей: 0

Collapse

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

  Тема Ответов Автор Просмотров Последнее сообщение
No new Topic has attachmentsRSS Ленты
API2 | Скрипт для просмотра новостных лент
57 rus.region78 73 430 24.9.2010, 15:31 Посл. сообщение: Ksan
No New Posts От: RSS Ленты
От темы с ID: 111
0 DemoN 4 584 21.7.2009, 8:35 Посл. сообщение: DemoN
No New Posts Topic has attachmentsRSS ленты
8 Accelerator 11 446 21.6.2009, 18:40 Посл. сообщение: Accelerator
No New Posts Rss Ленты Телепрограмм
я замучился искать.
3 MEXAHuK 9 093 17.3.2009, 10:24 Посл. сообщение: СПАНЧ
No New Posts Кто Какие Rss Ленты Качает На Свой Хаб?
4 MEXAHuK 9 625 27.2.2009, 17:19 Посл. сообщение: MEXAHuK
No New Posts Topic has attachmentsRss Ленты
Выдает ошибки
0 Otshelnik-Fm 4 654 6.2.2009, 1:55 Посл. сообщение: Otshelnik-Fm
No New Posts От: RSS Ленты
От темы с ID: 111
0 MEXAHuK 5 140 5.1.2009, 20:12 Посл. сообщение: MEXAHuK

 



RSS Сейчас: 27.11.2024, 6:40