Альтернатива RSSTail с поддержкой OPML?

rsstail не может обрабатывать список OPML, но может отслеживать только один канал RSS, AFAIK

Есть ли альтернатива CLI (tail как) что может сделать эту задачу?

Или онлайн-сервис, который может преобразовать OPML в действительный URL-адрес одного URL, который я затем смогу направить в rsstail?

2 ответа

примечание Вот чистое решение,файл может иметь несколько каналов .

Из спецификацииOPMLссылка выше:

Списки подписки.
Список подписки — это, возможно, многоуровневый список подписок на каналы. Каждый подэлемент тела документа OPML представляет собой узел типа rss или элемент структуры, содержащий узлы типа rss.

Использование ксиделя :

      xidel -e '//outline[@xmlUrl and @type="rss"]/join(("-u", @xmlUrl))' -s file.opml |
    xargs rsstail

Файл может быть удален, используяhttpилиhttps:

      xidel --input-format xml \
    -e '//outline[@xmlUrl and @type="rss"]/join(("-u", @xmlUrl))' \
    -s http://hosting.opml.org/dave/spec/subscriptionList.opml |
    xargs rsstail

Если вам нужно только первое совпадение

      xidel -e '(//outline[@xmlUrl and @type="rss"]/join(("-u", @xmlUrl)))[1]' \
    -s file.opml | xargs rsstail

Чтобы пойти дальше, вы можете присоединиться к нескольким источникам, например:

      { 
    echo ' -u https://stackoverflow.com/feeds '
    xidel ..... file.opml
} | xargs rsstail

: https://github.com/benibela/xidel
xidelскачать: https://sourceforge.net/projects/videlibri/files/Xidel/Xidel%20development/


Если вы используете Windows , чтобы избежать проблем с кавычками, запустите этот код как powershell .

cat opml.xml | grep xmlUrl | sed 's/.*xmlUrl="/-u /;s/".*//' | xargs rsstail

Другие вопросы по тегам