确定特定博客文章有多少评论的最有效方法是什么?我们想要存储新网络应用程序的数据。我们有一个永久链接 URL 以及 RSS 提要的列表。

有帮助吗?

解决方案

如果我理解正确的话,您需要启发式方法来估计已知为博客文章的 HTML 页面中的评论数量,是吗?

很多时候,特定的博客都会有一些功能,可以让您轻松解决问题。如果你看看我的 http://kstruct.com/ 你会看到所有带有评论的页面都写着“X Responses”,所以如果你能够在每个博客的基础上做一些工作,这可能并不困难。

如果您需要通用的东西,我想您可能能够检测到注释中的一些常见功能。其一,其中的任何链接都很可能具有 rel="nofollow" 属性,因此在块中看到该链接可能意味着它是一条评论。

需要寻找的主要有趣的事情是同一站点的帖子结构的变化。例如,每个评论也很有可能有自己的锚点,以便人们可以直接链接到它,因此您可以在同一页面上查看给定页面中不同数量的 <a name="XXX"> 标签网站以了解评论的相对数量。

正如 Michael Stum 指出的那样,如果页面具有 Comment-RSS 提要,您的生活就会变得更加轻松,因为您可以获取结构化格式的评论数据。

但总而言之,我认为这将是一个非常具有挑战性的问题。

其他提示

如果博客由您控制,“从 postID = 2 的评论中选择计数(commentid)”可能是最好的选择。如果您只有 URL,但它仍然是您的博客/数据库,则需要创建一个子查询“WHERE postID =(从帖子中选择任何内容,WHERE 永久链接 = url)”或任何从 URL 将评论加入到帖子的方式。

如果是远程博客,则会遇到每个博客都有不同 HTML 的问题。本质上,您需要构建一个解析器来解析 HTML 并查找重复元素,例如“div class=comment”。但这对于每个不同的博客来说主要是体力劳动。

有些博客可能有更好的方法,例如在 HTML 或某些界面中的某处进行评论计数,但我不知道有任何标准化的方法。

编辑:如果您收到评论 RSS 提要,您 可能 运气好的话,可以使用一种对 XML 节点进行计数的机制,例如 XPath 的机制 数数.

博客几乎总是有一个用于评论的 RSS 提要。如果有的话,那么您就可以确定确切的评论数量,因为 99% 的情况下,提要都遵循标准。即使博客是您自己的,如果您已经生成了 RSS 提要,那么就不必费心调用您的数据库。您已经这样做来生成提要,因此您只需遍历 XML 节点是有意义的。这样您就不会产生额外的开销(取决于您想要获取此信息的频率)。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top