自动从网站复制新文章

时间:2008-12-31 10:33:07

标签: joomla

我正在建立一个网站,其中一个部分将显示来自的公告 不同的网站。 (通知是公开的,没有侵犯版权)我需要做的是在目标网站上有新通知时自动更新我的网站。我使用Joomla作为我的CMS。有什么想法吗?

更新 - 很遗憾没有RSS提要:(

谢谢和问候, NAND

7 个答案:

答案 0 :(得分:2)

有一些工具会刮掉一个网站并将其转换为RSS(你需要做一些工作来指定如何为新网站进行转换)。例如,请参阅http://rssscraper.rubyforge.org/

答案 1 :(得分:1)

如果其他网站为他们的通知提供了RSS提要,最简单的方法是使用Joomla的RSS插件来呈现它们。

答案 2 :(得分:1)

由于还没有针对你的目标的RSS提要 - 你可以用PHP写一个(IIRC Joomla写的,所以我会假设支持)。您只需连接到远程网站,并解析HTML(正则表达式是您的朋友),以生成Feed数据;我倾向于把这个输出作为RSS,然后点燃你的Joomla网站。

解析HTML的缺点包括在他们的网站布局上添加一个巨大的依赖 - 这可以通过“给”他们生成RSS来为他们托管的php来减轻,因为它会为他们的网站增加价值,以及将维护所有权转让给他们。

答案 3 :(得分:1)

您可以使用yahoo pipes和/或yahoo query language(yql)将网站转换为rss或xml

答案 4 :(得分:0)

我同意frankodwyer和Rowland的答案,但有一点需要考虑的是窃听网站所有者(如果它仍在积极开发,我认为如果有新消息的那样)添加RSS提要。这不是最难的事情。

答案 5 :(得分:0)

应该注意的是,“公开”并不意味着版权免费,除非明确放在公共领域中。在保留其自动版权的同时,有许多公开的内容。

答案 6 :(得分:0)

如果您可以查看您尝试从中提取信息的网站的HTML代码,并且他们的新闻文章实体具有逻辑命名系统,您应该能够使用fopen命令,例如。

<?php
$handle = fopen("http://www.example.com/", "r");
?>

然后使用从文章代码中提取的信息,如果文章代码的布局如下:

<div class="post" id="post-16283">
    <div class="postheader">
        <h1 id="article-title">Test Article Code</h1>
    </div>
    <div class="postcontent">
        This is the article text
    </div>
    <div class="postfooter">
        Copyright Information
    </div>
</div>

然后,您可以使用以下php代码显示文章的所有标题:

if (preg_match_all("#<div class="postheader"(.*?)</div>#s", $handle, $matches, PREG_PATTERN_ORDER) > 0) {
    foreach ($matches[0] as $match) {
        echo $match;
    }
}

这只是如何从网页上提取信息的基本指标。它可以开发,因此您可以从网页上逐页提取信息,然后甚至以自己的方式格式化。

希望有所帮助