myDC.ru

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

 

> Rss_RT_Curl + Rss_RusNext + Rss_RusVesna, Ленты посл. новостей от RussiaToday, RusNext и RusVesna

Теги
Ksan
сообщение 7.7.2014, 8:26
Сообщение #1


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

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




Скрипты для чтения лент новостей с сайтов http://russian.rt.com/, http://rusnext.su/ и http://rusvesna.su/
Названия: Rss_RussiaToday.lua Rss_RT_Curl.lua, Rss_RusNext.lua и Rss_RusVesna.lua
Платформа: 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:
-- на сайте новостей опять внесли маленькое изменение и в показываемой новости стали появляться артефакты. Исправил скрипт и перезалил.
ВНИМАНИЕ! - скрипт Rss_RussiaToday пока не работает из-за проблем с RSS на сайте RT.
И именно поэтому в срочном порядке сегодня перелепил этот же скрипт под другой сайт новостей - 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_RussiaToday: 2016-05-13 02:55 (мск)
Дата заливки Rss_RusNext: 2016-07-17 07:00 (мск)
Дата заливки Rss_RusVesna: 2016-07-17 09:20 (мск)
Дата заливки Rss_RT_Curl: 2022-06-24 09:20 (мск)
-----------
Rss_RT_Curl ( 4.24 мегабайт )
Прикрепленные файлы
Прикрепленный файл  Rss_RusNext.lua ( 10.83 килобайт ) Кол-во скачиваний: 40
Прикрепленный файл  Rss_RusVesna.lua ( 10.84 килобайт ) Кол-во скачиваний: 47
Прикрепленный файл  Rss_RT_Curl.rar ( 4.25 мегабайт ) Кол-во скачиваний: 3
 
Go to the top of the page
+Quote Post
2 страниц V   1 2 >  
Начать новую тему
Ответов
Ksan
сообщение 19.7.2014, 6:01
Сообщение #2


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

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




Пожалуйста, вопросы по скриптам задавайте только в темах, а не в приват!
Приват - только для общения по личным вопросам. Но личные вопросы я не обсуждаю...даже в привате. big_smile.gif
Сорри!
Go to the top of the page
+Quote Post
serxxx
сообщение 25.8.2015, 5:10
Сообщение #3


Начинающий
*

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




Установил скрипт + последнюю библиотеку отсюда http://mydc.ru/topic43.html
Делаю запросы на новости но безрезультатно, даже ошибок нету. Может на сайте что-то поменяли и теперь не парсит ?
Go to the top of the page
+Quote Post
Артём
сообщение 25.8.2015, 11:11
Сообщение #4


Наруто на аваторке
***********

Группа: Пользователи
Сообщений: 2 606
Регистрация: 11.10.2008
Из: Харькова
Пользователь №: 771
Спасибо сказали: 774 раза




Цитата(serxxx @ 25.8.2015, 5:10) *
Делаю запросы на новости но безрезультатно, даже ошибок нету. Может на сайте что-то поменяли и теперь не парсит ?

Почему же нет, у меня есть.
Цитата
Произошла ошибка при получении новости RT. Причина: РЎР±РѕР№ РїРѕРёСЃРєР° имени хоста
Go to the top of the page
+Quote Post
Ksan
сообщение 25.8.2015, 15:34
Сообщение #5


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

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




У меня работает:
Цитата
[18:34:04] <Rss_Russian.RT.com>

•••• Источник: Сергей Лавров встретится с участниками комитета по межсирийским консультациям ••••
[ Вторник, 25 Авг. 2015 15:26:43 +0300

Глава МИД РФ Сергей Лавров планирует встретиться с участниками комитета по наблюдению за выполнением решений межсирийских консультаций 31 августа. Об этом сообщил анонимный источник РИА Новости в российском дипведомстве...
Больше букв: http://russian.rt.com/article/111152
————————————————————————————————————————


Спасибо сказали:
Go to the top of the page
+Quote Post
serxxx
сообщение 25.8.2015, 17:31
Сообщение #6


Начинающий
*

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




Цитата(Ksan @ 25.8.2015, 16:34) *
У меня работает:

Сегодня на хабе увидел что работает. Кому то удалось запустить из пользователей наверно, но по моим запросам не постит в чат
Цитата
[19:16:06] <Rss_Russian.RT.com>

•••• Красный Крест приостановил работу в Адене после нападения на сотрудников организации ••••
[ Вторник, 25 Авг. 2015 16:07:30 +0300

Международный комитет Красного Креста приостановил свою работу в городе Аден после нападения на сотрудников организации. Группа вооружённых людей напала на представительство МККК, угрожая местным сотрудникам...
Больше букв: http://russian.rt.com/article/111156
————————————————————————————————————————


Для теста на пустом хабе запускал команду и следил в брандмауэре, запрос был на ип rt в 112 байт ответ в 18281 байт.
Получается информацию получает но не постит в чат

Ksan, На вашем хабе тоже пытался получить новости, но проблема такая же. Может от клиента еще зависит ?
Go to the top of the page
+Quote Post
dimetro
сообщение 25.8.2015, 19:01
Сообщение #7


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

Группа: Пользователи
Сообщений: 69
Регистрация: 14.9.2009
Пользователь №: 4 440
Спасибо сказали: 19 раз




Цитата(serxxx @ 25.8.2015, 17:31) *
Сегодня на хабе увидел что работает. Кому то удалось запустить из пользователей наверно, но по моим запросам не постит в чат


Для теста на пустом хабе запускал команду и следил в брандмауэре, запрос был на ип rt в 112 байт ответ в 18281 байт.
Получается информацию получает но не постит в чат

Ksan, На вашем хабе тоже пытался получить новости, но проблема такая же. Может от клиента еще зависит ?

От клиента врядли, если только бот случайно не в игноре
Или на ЛС пароль?
Go to the top of the page
+Quote Post
serxxx
сообщение 25.8.2015, 19:42
Сообщение #8


Начинающий
*

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




Цитата(dimetro @ 25.8.2015, 20:01) *
От клиента врядли, если только бот случайно не в игноре
Или на ЛС пароль?

На лс пароля нету, переустановил флайлинк на всякий случай.
В принципе и так сойдет если будет постить иногда =)
Go to the top of the page
+Quote Post
Ksan
сообщение 18.9.2015, 11:57
Сообщение #9


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

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




UPD-1:
-- сегодня что-то чуток изменили на сайте RT-ленты и в выводимых новостях появился артефакт, так что вот подправил код и перезалил скрипт (в сообщении #1).

Дата перезаливки: 2015-09-18 11:53 (мск.)

P.S.: И да, они там что-то накосячили (я не думаю, что это специально так сделано) и теперь в исходниках даты-времени вообще нет, поэтому нет даты-времени и в выводимой скриптом новости.. Надеюсь, исправят.
P.P.S: Время уже исправили (я им письмо отправлял).


Спасибо сказали:
Go to the top of the page
+Quote Post
Ksan
сообщение 10.10.2015, 4:20
Сообщение #10


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

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




UPD-2:
-- на сайте новостей повысили степень защищённости и теперь парсить можно стало только используя библиотеку SSL. Скрипт перезалит.
Про библиотеку читайте в первом сообщении темы.

Дата перезаливки: 2015-10-10 04:00 (мск.)
Go to the top of the page
+Quote Post
Ksan
сообщение 27.4.2016, 14:49
Сообщение #11


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

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




На сайте RT-ленты затеяли редизайн, поэтому скрипт выдаёт новости с артефактами.
Я слежу за ситуацией и меняю скрипт почти в онлайн-режиме, и когда всё устаканится, выложу исправленный.
----------------

UPD-3:
-- на сайте новостей сделали редизайн страниц новостей, скрипт пришлось тоже подогнать под это дело. Скрипт перезалит.

Дата перезаливки: 2016-04-10 19:00 (мск)


Спасибо сказали:
Go to the top of the page
+Quote Post
Ksan
сообщение 13.5.2016, 2:58
Сообщение #12


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

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




UPD-4:
-- на сайте новостей опять внесли маленькое изменение и в показываемой новости стали появляться артефакты. Исправил скрипт и перезалил.

Дата перезаливки: 2016-05-13 02:55 (мск)


Спасибо сказали:
Go to the top of the page
+Quote Post
Nikolaevich
сообщение 15.7.2016, 2:41
Сообщение #13


Начинающий
*

Группа: Пользователи
Сообщений: 10
Регистрация: 5.10.2014
Пользователь №: 12 532
Спасибо сказали: 1 раз




Со вчерашнего вечера начались проблемы скрипт ошибок не выводит, а в чат начал писать вот это:

[2:33:45] <Rss_Russian.RT.com> *** Произошла ошибка при получении информации. Причина: closed
[2:33:45] *** *** Произошла ошибка при получении новости. Причина: closed

До этого проблем со скриптом не было, кто подскажет в чем проблема.
Go to the top of the page
+Quote Post
Ksan
сообщение 15.7.2016, 16:19
Сообщение #14


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

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




Nikolaevich, я знаю о проблеме, у самого так же. Причина ошибки - с сайта скрипт не получает данные, ни одного байта, кроме ошибки "closed". Но пока не смог понять причину этого, хотя через браузер та же страничка открывается без проблем.
Аналогичное бывало (но без ошибки "closed"), когда они перешли с http на https, пришлось использовать другую библиотеку. Но тут я пока не вижу просвета.. Может, просекли скрипт и как-то умудряются блокировать, судя по ошибке.
Возможно, придётся обратиться к другому сайту новостей и перелопатить скрипт..

UPD:
Похоже, нужно подождать, у них на сайте RSS-лента тоже перестала работать. Думаю, это взаимосвязано. Я написал в редакцию сайта, может, примут меры.. Разок уже было такое раньше - я им писал о проблеме с RSS.


Спасибо сказали:
Go to the top of the page
+Quote Post
Ksan
сообщение 17.7.2016, 7:17
Сообщение #15


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

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




ВНИМАНИЕ! - скрипт Rss_RussiaToday пока не работает из-за проблем с RSS на сайте RT.
И именно поэтому в срочном порядке сегодня перекроил этот же скрипт под другой сайт новостей - RusNext (альтернативная версия РусВесны), скрипт выложен в этой же теме в первом сообщении. Эта альтернативная лента ничуть не хуже RT.

Почему на RT не работает RSS-лента, я не знаю, есть подозрение, что это как-то связано с DDoS-атакой (а атака была и как раз в это время, когда случилась поломка).

UPD-1:
Но, похоже, такая же проблема теперь и у RusNext. big_smile.gif У них с ночи не обновляются данные, не только на RSS, а и вовсе даже на главной странице.
UPD-2:
Теперь этот же скрипт загрузил под третий сайт новостей - RusVesna, скрипт выложен тут же, ссылка там же. Хорошо, что эти два последних ресурса имеют одинаковый код исходников RSS, так что почти ничего не пришлось менять (ссылку да ещё чуть-чуть)..
UPD-3:
По RusNext - отбой тревоги, только залил последний скрипт, так этот RSS тоже заработал. Ладно, пусть и этот скрипт тоже лежит.


Спасибо сказали:
Go to the top of the page
+Quote Post
Saymon21
сообщение 18.7.2016, 16:09
Сообщение #16


Site Reliability Engineer
*********

Группа: Модераторы
Сообщений: 1 772
Регистрация: 27.6.2009
Из: Чувашия, г. Чебоксары
Пользователь №: 3 719
Спасибо сказали: 479 раз




Эти ресурсы часто бывают под очень сильными ddos. Осторожней с ними. И вообще, русская весна и rusnext - совершенно разные вещи, с разной историей и владельцами.
зы. Пользовали бы это например: https://toster.ru/q/319075
Go to the top of the page
+Quote Post
Ksan
сообщение 18.7.2016, 20:04
Сообщение #17


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

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




Saymon21
Цитата
И вообще, русская весна и rusnext - совершенно разные вещи, с разной историей и владельцами.

Ничего подобного! РусНекст как раз выделился из РусВесны, вроде часть коллектива перестала соглашаться с политикой ресурса и ушла, создав альтернативный ресурс. Вначале они были почти копией Русвесны, потом стали малость отличаться. big_smile.gif Так да, история разная, но только с определённого момента - с точки отделения.

UPD-1:
На сайте RT заработал RSS, но данные скрипту по-прежнему не отдаются, ошибка та же - "closed".
Так что я продолжаю у себя юзать скрипт под Руснекст.
UPD-2:
И да, важное замечание для всех - эти три скрипта имеют одинаковые команды (наследие первого скрипта под RT), поэтому совместное использование нежелательно. При желании можете сами их изменить под каждый скрипт (под Руснекст и Русвесну). Вот эти три команды (просто можете в конце каждой команды добавить буквы "rn" для Руснекста и "rv" для Русвесны)
Код
local sCmdRssFreq = "!cmdrssrtfreq" -- (смена периода для чата)
local sCmdRssPrivat = "!cmdrssrtprivat" -- (новость в приват)
local sCmdRssChat = "!cmdrssrtchat" -- (новость в чат (от админа и випа))
Go to the top of the page
+Quote Post
Saymon21
сообщение 18.7.2016, 20:20
Сообщение #18


Site Reliability Engineer
*********

Группа: Модераторы
Сообщений: 1 772
Регистрация: 27.6.2009
Из: Чувашия, г. Чебоксары
Пользователь №: 3 719
Спасибо сказали: 479 раз




Попробуй обновить luasocket и luasec. Возможно, траблы с поддерживаемым протоколом tls/ssl.
Go to the top of the page
+Quote Post
Ksan
сообщение 18.7.2016, 20:51
Сообщение #19


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

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




В таком случае траблы не у меня, а у них, так как данные не отдаются только с RT, а с двух других лент всё идёт пучком.
Тем более, я не имею представления, как эти библиотеки обновить.. big_smile.gif Не хочу париться ещё этим, у меня мозги слишком малоподвижные из-за дряхлости.
Go to the top of the page
+Quote Post
Saymon21
сообщение 18.7.2016, 21:16
Сообщение #20


Site Reliability Engineer
*********

Группа: Модераторы
Сообщений: 1 772
Регистрация: 27.6.2009
Из: Чувашия, г. Чебоксары
Пользователь №: 3 719
Спасибо сказали: 479 раз




Проблемы не у них. Ныне модно половину tls/ssl дисаблить. Время такое, security reasons.

Вообще выкинули бы вы этот luasocket уже. Давно используют curl.


Код
curl = require"lcurl"
function callback( data )
   print(data)
end

curl.easy{url = 'https://russian.rt.com:443/rss/',[curl.OPT_VERBOSE] = false,[curl.OPT_SSL_VERIFYPEER] = false,[curl.OPT_SSL_VERIFYHOST] = false,[curl.OPT_FOLLOWLOCATION] = true,}:perform({writefunction=callback()}):close()


Код работает, на голом lua. Либка вот http://lua-curl.github.io/


Спасибо сказали:
Go to the top of the page
+Quote Post

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

 



RSS Сейчас: 23.11.2024, 0:10