我有100个网站在不同位置公开了RSS Feed。这些位置有几个指向不同Feed的RSS提要链接。它几乎与BBC Rss供稿页面相同 http://www.bbc.com/news/10628494
网站1:domain1.com/rss 站点2:domain2.com/enviroments/rss
有没有办法提取每个feed xml的rss链接。
与此相似的东西 Automatically Extracting feed links (atom, rss,etc) from webpages但我想只提供该网站。这样我就可以获得特定网站的所有可能的RSS源。
我想要列出100个网站的所有RSS Feed。那么我就可以在仪表板上监控它们。哦,饲料aee混合bith原子和rss。
我做了什么。我查看了apache nutch和parse-feed插件。 Scrapy是下一个选择,但我仍然不确定这是我在寻找什么。
答案 0 :(得分:7)
一般来说,提供RSS feed的网站在至少主页的标题中指示了这一点,每个页面都有一些。
有一个RSS提要的例子:
<link href="http://snapwebsites.org/rss.xml"
title="Snap! A C++ Open Source CMS RSS"
type="application/rss+xml"
rel="alternate">
请注意,网站之间的类型会略有不同。例如,某些网站可能会使用text
而不是application
(这是错误的,但XML是文字...)还有application/atom+xml
。您可能也有这两种格式。
如果没有,那么您必须检查主页或其他页面以获取RSS源的锚链接,这意味着:
href
属性<?xml ...
开头),请检查根标记:
我在下一页上有一个示例,其中包含标题中的<link ...>
标记:
http://snapwebsites.org/implementation/feature-requirements/feed-feature-core-atom-rss-20-etc
我不得不说,如果没有这个链接,找到RSS提要将会更加困难。话虽这么说,在许多网站上,feed文件使用扩展名(.rss,.atom,.xml),可以用来简化搜索。然而,越来越多的Feed看起来像目录名称(.../blah
或.../foo
无法与标准HTML页面或Feed区分开来,因此唯一的方法是在目的地读取文件并检查文件格式; HTTP回复的Content-Type
也应该是application/rss+xml
或application/atom+xml
...就像标题链接type=...
属性一样)