如何以编程方式将任何网页转换为RSS源?

时间:2011-01-25 15:50:18

标签: php xml rss

有许多网站和博客提供RSS提要,但另一方面也有许多网站和博客提供RSS提要。我想将这种类型的网页转换为RSS提要。

我发现了一些通过Google使用的解决方案,例如Feed43Page2rssDapper等,但我想要一个可以执行此任务的开源项目或任何解释它的教程。< / p>

请给我建议,如果你能解释,欢迎你。

我更喜欢的语言是PHP。

4 个答案:

答案 0 :(得分:6)

RSS没有什么神奇之处。我建议你阅读本教程,了解如何从头开始构建RSS源:

http://www.xul.fr/en-xml-rss.html

然后使用您的PHP技能从您的内容构建一个。可以通过搜索“html to rss converter”或其他任何方式在线找到通用的HTML-to-RSS scraper,但其中大多数将是托管解决方案,而且它们生成的RSS源不是那么好。一个好的RSS提要需要了解您正在联合的内容,而不仅仅是原始HTML。 IMHO。

答案 1 :(得分:2)

一般来说,对于这样的事情,不会有任何“一刀切”的解决方案。您必须检查要从中构建RSS源的博客的HTML结构,然后解析您感兴趣的内容,并将其粘贴到RSS源中。

以下是帮助您入门的一些PHP内容:

解析HTML:

  • DOMDocument(用于HTML / XML解析的瑞士军刀)
  • SimpleXML(易于使用,但需要有效的XML)
  • Tidy(可用于清理错误的HTML)

了解RSS Feed:

要使用PHP构建它们,您可以再次使用DOMDocument或SimpleXML。另一种选择是,根据要转换为RSS的HTML格式,您可以创建一个XSLT样式表来对其进行转换。

答案 2 :(得分:1)

这个问题没有简单或具体的答案,但我会帮助你。

首先,您需要构建各种爬虫。通常,您希望这是多线程的,并在服务器的后台运行。这可能就像在服务器上分支PHP进程一样简单,但您可能会找到一种更有效的方法,具体取决于您期望的流量。

现在可能最好的方法是阅读DOM。请参阅http://php.net/manual/en/class.domdocument.php查找标题,并尝试将它们与下面的段落相关联。请注意,可能不到一半的网站(并且可能远没有那些没有饲料的网站)不会以有组织的方式构建他们的网站。但是,这是一个开始的地方。

您可以使用很多元素属性,例如alt文本。此外,您可能会发现很多站点使用特定模板,您可以编写代码直接处理。

您还应该阅读现有的Feed。如果一个站点有一个feed,就没有意义为它生成一个,对吗?使用SimplePie开始,但有一些你不喜欢的选择。 http://simplepie.org/

解析完页面后,您需要一个数据库后端来跟踪它并进行更改以及不进行更改。

从那里,您需要一些东西来生成Feed。有很多OOP类可以做到这一点。很多时候,我只是写自己的,但这取决于你。

答案 3 :(得分:0)

如果您使用简单symphony cms构建网站,那么是的,非常简单。见snippet of a tutorialLearn here