我一直想制作RSS阅读器一段时间(只是为了好玩),但我对从哪里开始没有任何想法.我对RSS一无所知.有没有关于RSS的好教程以及如何在应用程序中实现它(不是关于如何制作RSS阅读器的教程,这太简单了).
我正在设置一个订阅RSS提要的node.js服务器。当有新项目发布到提要时,我希望服务器解析该信息并将其传递给API,该API将警告最终用户。我可以将feedparser用作订户吗?
我知道该库创建了一个EventEmitter来触发动作。是否可以导出此功能并使它与我的Express应用程序并行运行?
从解析器示例中获取:
const FeedParser = require('feedparser')
const request = require('request')
const subscriber = async () => {
const req = request('https://www.reddit.com/.rss')
const feedparser = new FeedParser()
req.on('error', (error) => {
console.log(error)
})
req.on('response', (r) => {
const stream = this
if (r.statusCode !== 200) {
this.emit('error', new Error('bad status code'))
} else {
stream.pipe(feedparser)
}
})
feedparser.on('readable', () => {
// This is where the action is!
const stream = this
var item = '' …Run Code Online (Sandbox Code Playgroud) 我正在尝试从提要中获取未回答问题的列表,但在阅读时遇到问题。
const string RECENT_QUESTIONS = "https://stackoverflow.com/feeds";
XmlTextReader reader;
XmlDocument doc;
// Load the feed in
reader = new XmlTextReader(RECENT_QUESTIONS);
//reader.MoveToContent();
// Add the feed to the document
doc = new XmlDocument();
doc.Load(reader);
// Get the <feed> element
XmlNodeList feed = doc.GetElementsByTagName("feed");
// Loop through each item under feed and add to entries
IEnumerator ienum = feed.GetEnumerator();
List<XmlNode> entries = new List<XmlNode>();
while (ienum.MoveNext())
{
XmlNode node = (XmlNode)ienum.Current;
if (node.Name == "entry")
{
entries.Add(node);
}
}
// Send …Run Code Online (Sandbox Code Playgroud)