Rss_RT_Curl + Rss_RusNext + Rss_RusVesna, Ленты посл. новостей от RussiaToday, RusNext и RusVesna |
Здравствуйте, гость ( Вход | Регистрация )
Rss_RT_Curl + Rss_RusNext + Rss_RusVesna, Ленты посл. новостей от RussiaToday, RusNext и RusVesna |
7.7.2014, 8:26
Сообщение
#21
|
|
Белый Волк Группа: Пользователи Сообщений: 1 723 Регистрация: 11.9.2008 Из: г.Томск Пользователь №: 516 Спасибо сказали: 657 раз |
Скрипты для чтения лент новостей с сайтов
Названия: Платформа: PtokaX API: API 2 Автор: Ksan Дата: 1-я версия: 2014-07-07, последняя: 2022-06-24 (Rss_RT_Curl.lua) Библиотеки: - для работы скрипта Rss_RussiaToday требуется библиотека SSL (примечание - виндовая Птока должна быть версии x86, а если кому удалось найти рабочую библиотеку для Птоки x64, поделитесь тут в теме). В PtokaX 0.5.0.1 Mod x86 от Alex82 виндовая библиотека уже встроена в папке libs. - для работы скриптов Rss_RusNext и Rss_RusVesna требуется библиотека LuaSocket Примечание: для последней версии Rss_RussiaToday (он же Rss_RT_Curl) необходима программа cURL (заменит библиотеку SSL), кладётся в отдельную папку Curl в корневой папке Птоки (папку с Curl'ом выкладываю в архиве скрипта). Возможности: - периодически выводит в чат последнюю новость с ленты RSS (частоту вывода прописанный в скрипт админ может менять или совсем отменить, введя цифру 0), по умолчанию стоит = 45 минут (для болтливых чатов можно уменьшить (в скрипте либо через меню)) - админ, прописанный в скрипте, может принудительно вывести в чат последнюю новость - через меню можно получать в приват по запросу последние новости (1-20 новостей - по желанию) - то же самое с жёстко прописанным в скрипте числом (у меня по умолчанию = 3) через отдельную строку в меню (для ленивых) - скрипт Rss_RT_Curl при старте будет самопроверяться - скачает ленту (не обязательно), создаст вспомогательный файл (с Curl иначе никак), если его не было, при успешном получении информации и наличии файла сформирует последнюю новость и отправит в приват админу, чей ник прописан в настройках скрипта (предполагается, что он и будет запускать скрипт). Если же с сайта информация не получится, то, скорее всего, прилетит пустая новость, но файл будет создан (у меня создаётся). Я не уверен, что как-то можно получить "error" Curl'ом с сайта. Иногда при старте не выдаёт тестовую новость, хотя файл с RSS создаётся. Но обычно следующий вызов новости срабатывает нормально. Пример вывода в чат: Код [21:30:53] <Rss_Russian.RT.com> •••• Один человек погиб, семеро ранены при взрыве в турецкой Бурсе •••• Один человек погиб и семеро получили ранения при взрыве в центре городе Бурса на северо-западе Турции в районе исторической мечети Улу Джами. Об этом сообщают местные СМИ... Вся новость тут: https://russian.rt.com/article/300108-odin-chelovek-pogib-semero-raneny-pri-vzryve [ Среда, 27 Апр. 2016 18:23:00 (мск) ] ———————————————————————————————————————— UPD-1: -- сегодня что-то чуток изменили на сайте RT-ленты и в выводимых новостях появился артефакт, так что вот подправил код и перезалил скрипт. UPD-2: -- на сайте новостей повысили степень защищённости и теперь парсить можно стало только используя библиотеку SSL. Скрипт перезалит. UPD-3: -- на сайте новостей сделали редизайн страниц новостей, скрипт пришлось тоже подогнать под это дело. Скрипт перезалит. UPD-4: -- на сайте новостей опять внесли маленькое изменение и в показываемой новости стали появляться артефакты. Исправил скрипт и перезалил. И именно поэтому в срочном порядке сегодня перелепил этот же скрипт под другой сайт новостей - RusNext (альтернативная версия РусВесны), скрипт выложен тут же, ссылка ниже. Вот невезуха - и там та же проблема, теперь этот же скрипт загрузил под третий сайт новостей - RusVesna, скрипт выложен тут же, ссылка ниже. Хорошо, что эти два последних ресурса имеют одинаковый код исходников RSS, так что очень почти ничего не пришлось менять (ссылку да ещё чуть-чуть по мелочи).. По RusNext - отбой тревоги, только залил последний скрипт, так этот RSS тоже заработал. Ладно, пусть тоже лежит. ---------- Так, на всякий случай - на сайте RT заработал RSS, но данные скрипту по-прежнему не отдаются, ошибка та же - "closed". Так что я продолжаю у себя юзать скрипт под Руснекст. Внимание! Важное замечание для всех - эти три скрипта имеют одинаковые команды (наследие первого скрипта под RT), поэтому совместное использование нежелательно. При желании можете сами их изменить под каждый скрипт (под Руснекст и Русвесну). Вот эти три команды (просто можете в конце каждой команды добавить буквы "rn" для Руснекста и "rv" для Русвесны): Код local sCmdRssFreq = "!cmdrssrtfreq" -- (смена периода для чата) local sCmdRssPrivat = "!cmdrssrtprivat" -- (новость в приват) local sCmdRssChat = "!cmdrssrtchat" -- (новость в чат (от админа и випа)) Примечание: - Перелопатил скрипт Rss_RussiaToday, последняя версия будет называться Rss_RT_Curl (из-за нежелания сайта отдавать скрипты по-доброму, пришлось вот состряпать курловую вытяжку по наводке Saymon21, хотя и несколько другим манером). Для этой версии скрипта необходимо иметь папку Rss_RT_Curl в папке scripts (папку Rss_RT_Curl я положил в архив, просто перенесите) и положить отдельную папку Curl в корневой папке Птоки (папку с Curl'ом тоже выкладываю в архиве скрипта). Папка с Curl'ом - только для Винды. У кого линукс - не обессудьте, у меня сейчас только винда, не на чём пробовать. Да и так есть ещё 2 рабочих скрипта - новости с Русвесны и с РусНекста. UPD-5: Из-за моей халатности при подготовке папки с Курлом для отправки на форум скрипт Rss_RT_Curl у вас не срабатывал. :( Решение: содержимое папки Curl (три файла) нужно там же переместить в папку bin, которую сначала там же (в папке Curl) надо предварительно создать. После этого перезапустить скрипт. Я это уже проделал и перезалил архив. Вы можете сами у себя проделать то же самое и без перекачивания архива. UPD-6: Скрипт Rss_RT_Curl долгое время не работал (по крайней мере, у меня), руки не доходили проверить причину, сегодня добрался, оказалось, надо было заменить Curl на свежую версию (возможно, это на последних версиях Вин 10 (у меня это стоит) только происходит, не могу проверить точнее). Заменил, заработал. Архив перезалил, но не на сервер форума (он почему-то оказался недоступен), а на свой Яндекс.Диск (ниже ссылка). UPD: глюк с загрузкой исправили, так что добавил файл в ресурс (в списке нижний), прежний, из моего Я.Диска, оставил как есть.. ---------- Дата заливки Rss_RusNext: 2016-07-17 07:00 (мск) Дата заливки Rss_RusVesna: 2016-07-17 09:20 (мск) Дата заливки Rss_RT_Curl: 2022-06-24 09:20 (мск) -----------
Прикрепленные файлы
Rss_RusNext.lua ( 10.83 килобайт )
Кол-во скачиваний: 40
Rss_RusVesna.lua ( 10.84 килобайт ) Кол-во скачиваний: 47 Rss_RT_Curl.rar ( 4.25 мегабайт ) Кол-во скачиваний: 3 |
|
|
19.7.2016, 23:55
Сообщение
#22
|
|
Белый Волк Группа: Пользователи Сообщений: 1 723 Регистрация: 11.9.2008 Из: г.Томск Пользователь №: 516 Спасибо сказали: 657 раз |
Saymon21, предложенным тобой курлом не справился (мне нужна виндовая версия, а там линуксовые, не стал возиться), но получается через курл
|
|
|
20.7.2016, 5:40
Сообщение
#23
|
|
Site Reliability Engineer Группа: Модераторы Сообщений: 1 772 Регистрация: 27.6.2009 Из: Чувашия, г. Чебоксары Пользователь №: 3 719 Спасибо сказали: 479 раз |
Да, но там надо будет через io.popen, и он должен быть в системе или $PATH. Попроси Алекса82 собрать.
Кстати, если мне не изменяет память, то попробуй либку из luaaio. |
|
|
27.7.2016, 13:29
Сообщение
#24
|
|
Белый Волк Группа: Пользователи Сообщений: 1 723 Регистрация: 11.9.2008 Из: г.Томск Пользователь №: 516 Спасибо сказали: 657 раз |
Перелопатил скрипт Rss_RussiaToday, последняя версия будет называться Rss_RT_Curl (из-за нежелания сайта отдавать скрипты по-доброму, пришлось вот состряпать курловую вытяжку по наводке Saymon21, хотя и несколько другим манером). Для этой версии скрипта необходимо иметь папку Rss_RT_Curl в папке scripts (папку Rss_RT_Curl я положил в архив, просто перенесите) и положить отдельную папку Curl в корневой папке Птоки (папку с Curl'ом тоже выкладываю в архиве скрипта). Папка с Curl'ом - только для Винды. У кого линукс - не обессудьте, у меня сейчас только винда, не на чём пробовать. Да и так есть ещё 2 рабочих скрипта - новости с Русвесны и с РусНекста.
Скрипт Rss_RT_Curl при старте будет самопроверяться - скачает ленту (не всегда), создаст вспомогательный файл (с Curl иначе никак), если его не было, при успешном получении информации и наличии файла сформирует последнюю новость и отправит в приват админу, чей ник прописан в настройках скрипта (предполагается, что он и будет запускать скрипт). Если же с сайта информация не получится, то, скорее всего, прилетит пустая новость, но файл будет создан (у меня создаётся). Я не уверен, что как-то можно получить "error" Curl'ом с сайта. Иногда при старте не выдаёт тестовую новость, хотя файл с RSS создаётся. Но обычно следующий вызов новости срабатывает нормально. Дата заливки Rss_RT_Curl: 2016-07-27 13:10 (мск) |
|
|
27.7.2016, 13:39
Сообщение
#25
|
|
Site Reliability Engineer Группа: Модераторы Сообщений: 1 772 Регистрация: 27.6.2009 Из: Чувашия, г. Чебоксары Пользователь №: 3 719 Спасибо сказали: 479 раз |
Код local path_separator = package.config:sub(1,1) if path_separator == '/' then local sCurl = "curl -L --retry 3 --connect-timeout 10 -m 15 -s -o "..sTempFile elseif path_separator == '\\' then local sCurl = Core.GetPtokaXPath().."Curl/bin/curl.exe -L --retry 3 --connect-timeout 10 -m 15 -s -o "..sTempFile end Примерно вот патч, чтобы и в венде и в линуксе пахало. Для линуксоидов должен быть в системе и в $PATH. |
|
|
27.7.2016, 14:17
Сообщение
#26
|
|
Белый Волк Группа: Пользователи Сообщений: 1 723 Регистрация: 11.9.2008 Из: г.Томск Пользователь №: 516 Спасибо сказали: 657 раз |
Saymon21, по крайней мере, у меня на винде сработало (только я засунул это в функцию OnStartup() сразу под названием функции и убрал local от sCurl'ов).
Надеюсь, люди сами прочитают про этот кусок и сделают у себя, если кому приспичит (это я про линуксоидов). А виндовым ни к чему. Когда и если кто напишет, что под линукс тоже работает, тогда я это внесу в публичный скрипт. |
|
|
27.7.2016, 16:28
Сообщение
#27
|
|
Начинающий Группа: Пользователи Сообщений: 10 Регистрация: 5.10.2014 Пользователь №: 12 532 Спасибо сказали: 1 раз |
Что то молчит скрипт, не ошибок, ни новостей не выводит .
|
|
|
29.7.2016, 1:13
Сообщение
#28
|
|
Белый Волк Группа: Пользователи Сообщений: 1 723 Регистрация: 11.9.2008 Из: г.Томск Пользователь №: 516 Спасибо сказали: 657 раз |
Nikolaevich, тот же самый скрипт (если вы про Rss_RT_Curl) у меня работает - при старте создаёт первичный вспомогательный файл в папке Rss_RT_Curl (если отсутствует), но в в приват тестовую новость выдаёт пустой, но следующий раз (например, отправить новость в чат) отрабатывает нормально. И последующие тоже.
На втором компе этот же скрипт стоит, но первый тестовый при старте в приват кидает нормальную новость. Потому я и предупреждал, что может показать, может и нет, но тут главное, что создаст файл. Хотя я мог бы заранее рекомендовать всем самим создавать там файл. Но почему у вас не пашет, ничего не могу сказать. Вы же не пишете, какая у вас система, разрядность (хотя разрядность тут вряд ли имеет значение, я специально для этого выставил при скрипте Curl для 32-разрядных систем (виндовых), чтоб наверняка). Если у вас линукс, то вам нужно установить (если не стоит) Curl, выполните что-нибудь типа Цитата sudo apt-get install curl и далее - как выше советует Saymon21, добавьте кусок кода, только сделайте это так, как я описал в следующем после Saymon21 комменте. |
|
|
8.8.2016, 22:26
Сообщение
#29
|
|
Наруто на аваторке Группа: Пользователи Сообщений: 2 606 Регистрация: 11.10.2008 Из: Харькова Пользователь №: 771 Спасибо сказали: 774 раза |
поставил курловый скрипт, сильно времени лазить нет в скрипте, просто поставил, решил проверить новость, а в ответ
Цитата [22:23:22] <Big-eyed> Артём: *** Не злоупотребляйте запросами! Между ними должно пройти не менее 30 секунд после предыдущего запроса (Вашего или чужого). [22:25:07] <Big-eyed> Артём: *** Не злоупотребляйте запросами! Между ними должно пройти не менее 30 секунд после предыдущего запроса (Вашего или чужого). а в ЛС Цитата [22:26:28] <Rss_Russian.RT.com> [22:27:39] <Rss_Russian.RT.com> пустота |
|
|
9.8.2016, 4:54
Сообщение
#30
|
|
Белый Волк Группа: Пользователи Сообщений: 1 723 Регистрация: 11.9.2008 Из: г.Томск Пользователь №: 516 Спасибо сказали: 657 раз |
Артём, это моя халатность при подготовке папки с Курлом для отправки на форум. :(
UPD: Содержимое папки Curl (три файла) нужно там же переместить в папку bin, которую сначала там же (в папке Curl) надо предварительно создать. После этого перезапустить скрипт. Я это проделал и перезалил архив. Вы можете сами у себя проделать то же самое без перекачивания архива. |
|
|
9.8.2016, 11:05
Сообщение
#31
|
|
Наруто на аваторке Группа: Пользователи Сообщений: 2 606 Регистрация: 11.10.2008 Из: Харькова Пользователь №: 771 Спасибо сказали: 774 раза |
Ksan, ну, уж не знаю, сделал всё как положено(описано) симптомы такие же.
останусь тогда на русвесне |
|
|
9.8.2016, 15:57
Сообщение
#32
|
|
Активный участник Группа: Пользователи Сообщений: 69 Регистрация: 14.9.2009 Пользователь №: 4 440 Спасибо сказали: 19 раз |
Ksan, ну, уж не знаю, сделал всё как положено(описано) симптомы такие же. останусь тогда на русвесне так у тебя вроде на Линуксе хаб.. Цитата Saymon21, по крайней мере, у меня на винде сработало (только я засунул это в функцию OnStartup() сразу под названием функции и убрал local от sCurl'ов). Надеюсь, люди сами прочитают про этот кусок и сделают у себя, если кому приспичит (это я про линуксоидов). А виндовым ни к чему. Когда и если кто напишет, что под линукс тоже работает, тогда я это внесу в публичный скрипт. |
|
|
10.8.2016, 14:45
Сообщение
#33
|
|
Наруто на аваторке Группа: Пользователи Сообщений: 2 606 Регистрация: 11.10.2008 Из: Харькова Пользователь №: 771 Спасибо сказали: 774 раза |
dimetro, ничего не понял, ну да фиг с ним, весна пусть в чатике кажет новости
|
|
|
24.6.2022, 9:28
Сообщение
#34
|
|
Белый Волк Группа: Пользователи Сообщений: 1 723 Регистрация: 11.9.2008 Из: г.Томск Пользователь №: 516 Спасибо сказали: 657 раз |
UPD-6:
Скрипт Rss_RT_Curl долгое время не работал (по крайней мере, у меня), руки не доходили проверить причину, сегодня добрался, оказалось, надо было заменить Curl на свежую версию (возможно, это на последних версиях Вин 10-11 (у меня это стоит) только происходит, не могу проверить точнее), возможно, дело в разрядности (сейчас поставил х64, если у кого всё работает, то ничего менять не надо). Заменил, заработал. Архив перезалил, но не на сервер форума (он почему-то оказался недоступен), а на свой Яндекс.Диск (ниже ссылка). UPD: глюк с загрузкой исправили, так что добавил файл в ресурс (в списке нижний), прежний, из моего Я.Диска, оставил как есть..
Прикрепленные файлы
|
|
|
|
Сейчас: 23.11.2024, 1:17 |