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
Сообщение
#1
|
|
Белый Волк Группа: Пользователи Сообщений: 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.2014, 6:01
Сообщение
#2
|
|
Белый Волк Группа: Пользователи Сообщений: 1 723 Регистрация: 11.9.2008 Из: г.Томск Пользователь №: 516 Спасибо сказали: 657 раз |
Пожалуйста, вопросы по скриптам задавайте только в темах, а не в приват!
Приват - только для общения по личным вопросам. Но личные вопросы я не обсуждаю...даже в привате. Сорри! |
|
|
25.8.2015, 5:10
Сообщение
#3
|
|
Начинающий Группа: Пользователи Сообщений: 10 Регистрация: 8.4.2014 Пользователь №: 12 382 Спасибо сказали: 0 раз |
Установил скрипт + последнюю библиотеку отсюда http://mydc.ru/topic43.html
Делаю запросы на новости но безрезультатно, даже ошибок нету. Может на сайте что-то поменяли и теперь не парсит ? |
|
|
25.8.2015, 11:11
Сообщение
#4
|
|
Наруто на аваторке Группа: Пользователи Сообщений: 2 606 Регистрация: 11.10.2008 Из: Харькова Пользователь №: 771 Спасибо сказали: 774 раза |
|
|
|
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 августа. Об этом сообщил анонимный источник РИА Новости в российском дипведомстве... Больше букв: ———————————————————————————————————————— |
|
|
25.8.2015, 17:31
Сообщение
#6
|
|
Начинающий Группа: Пользователи Сообщений: 10 Регистрация: 8.4.2014 Пользователь №: 12 382 Спасибо сказали: 0 раз |
У меня работает: Сегодня на хабе увидел что работает. Кому то удалось запустить из пользователей наверно, но по моим запросам не постит в чат Цитата [19:16:06] <Rss_Russian.RT.com> •••• Красный Крест приостановил работу в Адене после нападения на сотрудников организации •••• [ Вторник, 25 Авг. 2015 16:07:30 +0300 Международный комитет Красного Креста приостановил свою работу в городе Аден после нападения на сотрудников организации. Группа вооружённых людей напала на представительство МККК, угрожая местным сотрудникам... Больше букв: ———————————————————————————————————————— Для теста на пустом хабе запускал команду и следил в брандмауэре, запрос был на ип rt в 112 байт ответ в 18281 байт. Получается информацию получает но не постит в чат Ksan, На вашем хабе тоже пытался получить новости, но проблема такая же. Может от клиента еще зависит ? |
|
|
25.8.2015, 19:01
Сообщение
#7
|
|
Активный участник Группа: Пользователи Сообщений: 69 Регистрация: 14.9.2009 Пользователь №: 4 440 Спасибо сказали: 19 раз |
Сегодня на хабе увидел что работает. Кому то удалось запустить из пользователей наверно, но по моим запросам не постит в чат Для теста на пустом хабе запускал команду и следил в брандмауэре, запрос был на ип rt в 112 байт ответ в 18281 байт. Получается информацию получает но не постит в чат Ksan, На вашем хабе тоже пытался получить новости, но проблема такая же. Может от клиента еще зависит ? От клиента врядли, если только бот случайно не в игноре Или на ЛС пароль? |
|
|
25.8.2015, 19:42
Сообщение
#8
|
|
Начинающий Группа: Пользователи Сообщений: 10 Регистрация: 8.4.2014 Пользователь №: 12 382 Спасибо сказали: 0 раз |
|
|
|
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: Время уже исправили (я им письмо отправлял). |
|
|
10.10.2015, 4:20
Сообщение
#10
|
|
Белый Волк Группа: Пользователи Сообщений: 1 723 Регистрация: 11.9.2008 Из: г.Томск Пользователь №: 516 Спасибо сказали: 657 раз |
UPD-2:
-- на сайте новостей повысили степень защищённости и теперь парсить можно стало только используя библиотеку SSL. Скрипт перезалит. Про библиотеку читайте в первом сообщении темы. Дата перезаливки: 2015-10-10 04:00 (мск.) |
|
|
27.4.2016, 14:49
Сообщение
#11
|
|
Белый Волк Группа: Пользователи Сообщений: 1 723 Регистрация: 11.9.2008 Из: г.Томск Пользователь №: 516 Спасибо сказали: 657 раз |
На сайте RT-ленты затеяли редизайн, поэтому скрипт выдаёт новости с артефактами.
Я слежу за ситуацией и меняю скрипт почти в онлайн-режиме, и когда всё устаканится, выложу исправленный. ---------------- UPD-3: -- на сайте новостей сделали редизайн страниц новостей, скрипт пришлось тоже подогнать под это дело. Скрипт перезалит. Дата перезаливки: 2016-04-10 19:00 (мск) |
|
|
13.5.2016, 2:58
Сообщение
#12
|
|
Белый Волк Группа: Пользователи Сообщений: 1 723 Регистрация: 11.9.2008 Из: г.Томск Пользователь №: 516 Спасибо сказали: 657 раз |
UPD-4:
-- на сайте новостей опять внесли маленькое изменение и в показываемой новости стали появляться артефакты. Исправил скрипт и перезалил. Дата перезаливки: 2016-05-13 02:55 (мск) |
|
|
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 До этого проблем со скриптом не было, кто подскажет в чем проблема. |
|
|
15.7.2016, 16:19
Сообщение
#14
|
|
Белый Волк Группа: Пользователи Сообщений: 1 723 Регистрация: 11.9.2008 Из: г.Томск Пользователь №: 516 Спасибо сказали: 657 раз |
Nikolaevich, я знаю о проблеме, у самого так же. Причина ошибки - с сайта скрипт не получает данные, ни одного байта, кроме ошибки "closed". Но пока не смог понять причину этого, хотя через браузер та же страничка открывается без проблем.
Аналогичное бывало (но без ошибки "closed"), когда они перешли с http на https, пришлось использовать другую библиотеку. Но тут я пока не вижу просвета.. Может, просекли скрипт и как-то умудряются блокировать, судя по ошибке. Возможно, придётся обратиться к другому сайту новостей и перелопатить скрипт.. UPD: Похоже, нужно подождать, у них на сайте RSS-лента тоже перестала работать. Думаю, это взаимосвязано. Я написал в редакцию сайта, может, примут меры.. Разок уже было такое раньше - я им писал о проблеме с RSS. |
|
|
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. У них с ночи не обновляются данные, не только на RSS, а и вовсе даже на главной странице. UPD-2: Теперь этот же скрипт загрузил под третий сайт новостей - RusVesna, скрипт выложен тут же, ссылка там же. Хорошо, что эти два последних ресурса имеют одинаковый код исходников RSS, так что почти ничего не пришлось менять (ссылку да ещё чуть-чуть).. UPD-3: По RusNext - отбой тревоги, только залил последний скрипт, так этот RSS тоже заработал. Ладно, пусть и этот скрипт тоже лежит. |
|
|
18.7.2016, 16:09
Сообщение
#16
|
|
Site Reliability Engineer Группа: Модераторы Сообщений: 1 772 Регистрация: 27.6.2009 Из: Чувашия, г. Чебоксары Пользователь №: 3 719 Спасибо сказали: 479 раз |
Эти ресурсы часто бывают под очень сильными ddos. Осторожней с ними. И вообще, русская весна и rusnext - совершенно разные вещи, с разной историей и владельцами.
|
|
|
18.7.2016, 20:04
Сообщение
#17
|
|
Белый Волк Группа: Пользователи Сообщений: 1 723 Регистрация: 11.9.2008 Из: г.Томск Пользователь №: 516 Спасибо сказали: 657 раз |
Saymon21
Цитата И вообще, русская весна и rusnext - совершенно разные вещи, с разной историей и владельцами. Ничего подобного! РусНекст как раз выделился из РусВесны, вроде часть коллектива перестала соглашаться с политикой ресурса и ушла, создав альтернативный ресурс. Вначале они были почти копией Русвесны, потом стали малость отличаться. Так да, история разная, но только с определённого момента - с точки отделения. UPD-1: На сайте RT заработал RSS, но данные скрипту по-прежнему не отдаются, ошибка та же - "closed". Так что я продолжаю у себя юзать скрипт под Руснекст. UPD-2: И да, важное замечание для всех - эти три скрипта имеют одинаковые команды (наследие первого скрипта под RT), поэтому совместное использование нежелательно. При желании можете сами их изменить под каждый скрипт (под Руснекст и Русвесну). Вот эти три команды (просто можете в конце каждой команды добавить буквы "rn" для Руснекста и "rv" для Русвесны) Код local sCmdRssFreq = "!cmdrssrtfreq" -- (смена периода для чата)
local sCmdRssPrivat = "!cmdrssrtprivat" -- (новость в приват) local sCmdRssChat = "!cmdrssrtchat" -- (новость в чат (от админа и випа)) |
|
|
18.7.2016, 20:20
Сообщение
#18
|
|
Site Reliability Engineer Группа: Модераторы Сообщений: 1 772 Регистрация: 27.6.2009 Из: Чувашия, г. Чебоксары Пользователь №: 3 719 Спасибо сказали: 479 раз |
Попробуй обновить luasocket и luasec. Возможно, траблы с поддерживаемым протоколом tls/ssl.
|
|
|
18.7.2016, 20:51
Сообщение
#19
|
|
Белый Волк Группа: Пользователи Сообщений: 1 723 Регистрация: 11.9.2008 Из: г.Томск Пользователь №: 516 Спасибо сказали: 657 раз |
В таком случае траблы не у меня, а у них, так как данные не отдаются только с RT, а с двух других лент всё идёт пучком.
Тем более, я не имею представления, как эти библиотеки обновить.. Не хочу париться ещё этим, у меня мозги слишком малоподвижные из-за дряхлости. |
|
|
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. Либка вот |
|
|
|
Сейчас: 23.11.2024, 4:59 |