如何访问所选元素,例如标题,描述,来自rss feed的日期?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何访问所选元素,例如标题,描述,来自rss feed的日期?相关的知识,希望对你有一定的参考价值。

我这样做是为了学习目的。我有RSS源的URL,我想进一步工作。此Feed包含太多信息。我只对所有“项目”,“标题”,“描述”和“pubDate”感兴趣。我正在使用“firebase deploy --only functions”,然后检查url以进行部署,我希望看到清理数据。出于某种原因,我在云函数日志中遇到错误:“TypeError:无法读取cleanUp中未定义的属性'channel'(/user_code/lib/index.js:19:29)”

我尝试了另一个令人惊讶的URL:https://www.theguardian.com/uk/london/rss

这是我想要使用的RSS提要的URL:https://polisen.se/aktuellt/rss/hela-landet/handelser-i-hela-landet/

这是我的cleanUp函数:

function cleanUp(data) {

    const items = []
    const channel = data.rss.channel
    channel.item.forEach(element => {
        items.push({
            title: element.title,
            description: element.description,
            date: element.pubDate
        })
    });
    return items
}

我期望在部署后看到所有带有子标题,描述和pubdate的项目。相反,我得到“错误:无法处理请求”,当我检查谷歌云功能的日志时,我看到:

“TypeError:无法读取cleanUp中未定义的属性'channel'(/user_code/lib/index.js:19:29)”

答案

为此,我建议使用JSON对象。所以我做的是获取RSS提要并将其转换为JSON对象。然后逐项解析并记录您需要的数据。

我做了一些自我编码。按照以下步骤了解我的示例,然后根据您的需要修改代码:

  1. 创建新的Google Cloud功能
  2. 触发:HTTP
  3. 运行时:Node.js 8
  4. 在package.json中添加依赖项:
{
  "name": "sample-http",
  "version": "0.0.1",
   "dependencies": {
    "rss-to-json": "^1.0.4"
  }
}
  1. 在index.js中用my GitHub code示例替换代码。

我已经测试了我自己的代码,它使用您提供的链接记录了200个项目。基本上我采用RSS并将其转换为JSON对象。然后我遍历所有项目并记录每个项目的属性。

以上是关于如何访问所选元素,例如标题,描述,来自rss feed的日期?的主要内容,如果未能解决你的问题,请参考以下文章

如何访问 Movilizer 答案中所选答案项的标签

在 mailchimp 中,如果它有帖子,你如何只显示 RSS 提要块的标记?

AutoDesk 视图和数据 API - 返回所选元素的位置

新闻应用程序使用多个RSS提要

FlexGet:来自 kinopoisk 的 RSS 解析和检查评级

PHP 生成 RSS XML - 编码错误