我想从各种博客中提取数据,并且正在通过各种方式来做到这一点:
- 需要用户认证的API
- XML RPC(不知道哪个都支持)
- RSS(同样,不确定哪些博客支持它,即使他们支持,从 RSS 提要中可以获得多少。)
- 原子
我知道这不是一个严格与编程相关的问题,但我继续提出这个问题,因为对于使用什么以及哪个更好服务存在很多困惑?
最好不要将 API 与身份验证一起使用,因为您不仅必须处理各种身份验证实现,还必须处理各种 API 限制。
RSS 是最早投入使用的。它有局限性。Atom 旨在成为它的替代品,克服了 RSS 的局限性。Atom 只是 XML RPC 的一种特殊形式。换句话说,XML RPC 还有其他用途,而 Atom 就是您想要的它的变体。以上都是API的一种。因此,理想情况下,您要做的是支持 RSS 和 Atom。遗憾的是 Atom 和 RSS 不向后兼容。引用维基百科上的“Atom”:
特别是,许多博客和 wiki 站点以 Atom 格式提供其 Web 提要。
不推荐@porneL 的解决方案(目前)。然而,在未来,HTML 标记将发生变化,以改进赋予块的语义含义,例如新<article>
标签。这将是另一种解析文档的方式。它将是最通用的,但在我看来,它还需要很长时间才能变得可靠,因为许多(如果不是大多数)网站都患有“标签汤”综合症。
最通用的“标准”是抓取和解析 HTML。
wget -m http://example.com/
你如何做到这一点取决于你想要完成什么以及你想要成为多么普遍。
您可以使用类似于 Readability 使用的启发式方法在网站上查找文章。您可以检测和特例流行的博客平台。