从中提取 RSS 提要 url
Extract RSS Feed url from
我有 100 个网站在不同位置公开了 RSS 提要。这些位置有几个指向不同提要的 RSS 提要链接。它几乎与 BBC Rss 提要页面相同
http://www.bbc.com/news/10628494
站点 1:域 1。com/rss
站点 2:domain2.com/enviroments/rss
有什么方法可以提取每个提要的 rss 链接 xml。
类似的东西
Automatically Extracting feed links (atom, rss,etc) from webpages 但我只想给网站。这样我就可以获得特定站点的所有可能的 rss 提要。
我想要一份来自 100 个网站的所有 rss 提要的列表。这样我就可以在仪表板上监控它们。哦,aee 混合了 bith atom 和 rss。
我做了什么。我研究了 apache nutch 和 parse-feed 插件。 Scrapy 是下一个选择,但我仍然不确定这是我要找的东西。
一般来说,提供 RSS 提要的网站至少会在主页的 header 中注明,有些甚至是每个页面。
有一个 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 提要的锚点 link,这意味着:
- 解析 HTML
- 寻找主播
- 读取
href
属性
- 检查目标以查看它是否 returns 一个 XML 文件
- 如果你得到一个 xml 文件(以
<?xml ...
开头)然后检查根标签:
- 'rss' -- RSS格式(版本是一个属性)
- 'feed' -- 原子格式
我在下一页有一个示例,其中包含 header 中的 <link ...>
标记:
http://snapwebsites.org/implementation/feature-requirements/feed-feature-core-atom-rss-20-etc
我不得不说,如果没有那个 link,要找到 RSS 提要会有点困难。也就是说,在许多网站上,提要文件使用扩展名(.rss、.atom、.xml),这可用于简化搜索。然而,越来越多的提要看起来像目录名称(.../blah
或 .../foo
无法与标准 HTML 页面或提要区分开来,因此唯一的方法是读取文件目标并检查文件格式;HTTP 回复的 Content-Type
也应该是 application/rss+xml
或 application/atom+xml
... 就像 header link type=...
属性)
作为旁注,虽然不太可能(我还没有在实时网站上真正看到它),但可以使用 Link: ...
HTTP header to indicate... links just the same as the <link ...>
tag found in the HTML header. If you have access to the HTTP header (here is how to do it in PHP),那么值得寻找那些 headers 看看其中一个是否是 RSS 提要。
我有 100 个网站在不同位置公开了 RSS 提要。这些位置有几个指向不同提要的 RSS 提要链接。它几乎与 BBC Rss 提要页面相同 http://www.bbc.com/news/10628494
站点 1:域 1。com/rss 站点 2:domain2.com/enviroments/rss
有什么方法可以提取每个提要的 rss 链接 xml。
类似的东西 Automatically Extracting feed links (atom, rss,etc) from webpages 但我只想给网站。这样我就可以获得特定站点的所有可能的 rss 提要。
我想要一份来自 100 个网站的所有 rss 提要的列表。这样我就可以在仪表板上监控它们。哦,aee 混合了 bith atom 和 rss。
我做了什么。我研究了 apache nutch 和 parse-feed 插件。 Scrapy 是下一个选择,但我仍然不确定这是我要找的东西。
一般来说,提供 RSS 提要的网站至少会在主页的 header 中注明,有些甚至是每个页面。
有一个 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 提要的锚点 link,这意味着:
- 解析 HTML
- 寻找主播
- 读取
href
属性 - 检查目标以查看它是否 returns 一个 XML 文件
- 如果你得到一个 xml 文件(以
<?xml ...
开头)然后检查根标签:
- 'rss' -- RSS格式(版本是一个属性)
- 'feed' -- 原子格式
我在下一页有一个示例,其中包含 header 中的 <link ...>
标记:
http://snapwebsites.org/implementation/feature-requirements/feed-feature-core-atom-rss-20-etc
我不得不说,如果没有那个 link,要找到 RSS 提要会有点困难。也就是说,在许多网站上,提要文件使用扩展名(.rss、.atom、.xml),这可用于简化搜索。然而,越来越多的提要看起来像目录名称(.../blah
或 .../foo
无法与标准 HTML 页面或提要区分开来,因此唯一的方法是读取文件目标并检查文件格式;HTTP 回复的 Content-Type
也应该是 application/rss+xml
或 application/atom+xml
... 就像 header link type=...
属性)
作为旁注,虽然不太可能(我还没有在实时网站上真正看到它),但可以使用 Link: ...
HTTP header to indicate... links just the same as the <link ...>
tag found in the HTML header. If you have access to the HTTP header (here is how to do it in PHP),那么值得寻找那些 headers 看看其中一个是否是 RSS 提要。