【问题标题】:Using JavaScript to parse RSS feed - Without use of external service? [closed]使用 JavaScript 解析 RSS 提要 - 不使用外部服务? [关闭]
【发布时间】:2014-02-21 00:42:24
【问题描述】:

我基本上整天都在四处奔波,试图实现一个目标,即从两个不同的站点获取 RSS 源以使用 Javascript 显示。我几乎找到了几十个可以做到这一点的网站,但存在三个问题:

  1. 我无法根据需要对帖子布局进行风格化,这是个问题。
  2. 添加了一些俗气的“RSS2JAVASCRIPT FEED BY ECTXX”。
  3. 他们还尝试加载图像 - 请理解,这意味着在侧边栏上显示 15 个或更少字符的小型新闻提要。

差不多,如果可能的话,我希望能够完全控制 RSS 数据的布局,同时避免服务。这是我建立的布局:https://dl.dropboxusercontent.com/u/67842559/Style_test.html - 将 Ref= 或 #?Ref=" 添加到每个 URL 的末尾是非常重要的,链接到的站点需要看到这一点,以便了解谁将它们链接到那里(这样他们就可以链接回我们 - 他们那边的一个功能会在他们的网站上拉出一个“返回 XXX”图片)

这是我的想法:

  1. 考虑到有大量“服务”这样做,使用 Javascript 来解析和设置 RSS Feed 进行显示必须相当容易
  2. 按照我们的计划,获取布局和链接工作所需的操作类型不适用于“服务” - 我们不能只在此处加载一些外部 JS 文件,我们需要自己执行此操作。

你需要了解一些其他的东西,我昨天才“发现”Javascript,所以它对我来说还是相当新的。

我要问的是:如果不使用 Google API/某些 RSS 提要服务,我将如何做到这一点?出于多种原因,我希望在本地处理数据。

我正在使用 MediaWiki 软件进行操作,到目前为止,大多数 Javascript 都运行顺利,所以这里是另一个。在这种情况下我该怎么办?鉴于目前的限制,我做不到。

【问题讨论】:

    标签: javascript ajax parsing rss mediawiki


    【解决方案1】:

    如果不使用外部服务,在纯 JS 中是不可能的。唯一的选择是在本地 php 脚本的帮助下获取远程提要。然后,您可以阅读本地 php 脚本而不是远程提要,然后随心所欲。

    但是使用谷歌服务到底有什么问题呢?

    但是,这是一个非常基本的示例,使用 PHP 和 JS 一起读取外部提要:

    feed.php:

    <?php
    $ch = curl_init($_GET['url']);
    curl_setopt($ch, CURLOPT_HEADER, false);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    $xml = curl_exec($ch);
    header("Content-Type: text/xml");
    echo $xml;
    curl_close($ch);
    exit;
    

    Javascript(使用 jQuery):

    function readFeed() {
        var feedURL = "http://an.example/feed.xml";
    
        $.get("feed.php?url=" + feedURL, function(data) {
            // Do, whatever you like...
        });
    };
    

    这可以通过字符串过滤等进行扩展(以避免 XSS 等)。

    【讨论】:

    • 老实说 - 我无法完全弄清楚这一切是如何运作的。在我被要求考虑在我们的主页上发布新闻提要之前,我只是该网站的基本设计师。我在 Google 上找到的关于该主题的每个“指南”都与它的“当前”版本不匹配——Google 改变了他们的布局,因为它们是写出来的,所以我一无所知。如果有人可以填补我的空缺,我似乎不明白。
    • 我只能建议通过 php(或任何其他服务器端语言)获取远程提要。我添加了一个示例。
    • 不幸的是,我无法在站点上运行 PHP,因为我没有管理员权限 - 尽管我可以让管理员将其安装为扩展,但不知道 MediaWiki 将如何处理。我想它可以保存在服务器上,而不是 Wiki 本身。举个例子会很有帮助,这对我来说是全新的。
    • MediaWiki 是基于 PHP 的。此外,PHP 只是一个示例。但是,如果您不想使用外部服务,则必须使用服务器端脚本语言在本地读取外部提要。
    • 我了解 Mediawiki 是基于 PHP 的,但我不确定这将如何转换为 MediaWiki 可接受的代码 - 除非它允许您安装任何东西作为扩展?这就是为什么我说最好不要让它在 wiki 上运行,而是在服务器上运行。这是另一个愚蠢的问题:我将如何展示和风格化它?就编程而言,我只知道 Ruby 和离线 C#。
    猜你喜欢
    • 2019-01-09
    • 2012-06-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-28
    • 2012-11-08
    相关资源
    最近更新 更多