Альтернатива 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