以编程方式确定博客帖子的评论数量

时间:2008-09-06 22:00:42

标签: rss comments

确定特定博客帖子的评论数量的最有效方法是什么?我们希望存储新的Web应用程序的数据。我们有一个永久链接UR列表和RSS源列表。

3 个答案:

答案 0 :(得分:4)

如果博客是由你控制的,“选择计数(荣誉)FROM评论WHERE postID = 2”可能是最好的。如果你只有URL,但它仍然是你的blog / db,你需要创建一个子查询“WHERE postID =(选择任何FROM posts WHERE permalink = url)”或者你从URL加入评论的方式。

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

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

编辑:如果你有一个Comment-RSS提要,你可能使用一种计算XML节点的机制,比如XPath的Count

答案 1 :(得分:2)

如果我理解正确,你想要一个启发式方法来估计HTML页面中的评论数量,这个评论是一个博客文章,是吗?

通常情况下,特定博客会有一些功能可以让您轻松解决问题。如果你在http://kstruct.com/查看我的,你会看到所有带评论的页面都说'X Responses',所以如果你能够在每个博客的基础上做一些工作,那可能并不是很困难。 / p>

如果你需要通用的东西,我想有一些你可能能够检测到的评论的常用功能。首先,它们中的任何链接都很可能具有rel =“nofollow”属性,因此在块中看到它可能意味着它是一个注释。

要寻找的主要有趣的事情是同一网站的帖子结构的变化。例如,每个评论都有一个非常好的机会,因此人们可以直接链接到它,所以你可以查看不同数量的< a name =“XXX”>标记在同一网站上的给定页面中,以了解评论的相对数量。

正如Michael Stum指出的那样,如果这些页面有一个Comment-RSS提要,那么你的生活将变得更加容易,因为你可以以结构化的格式获得评论数据。

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

答案 2 :(得分:0)

博客几乎总是有一个用于评论的RSS提要。如果你有,那么你可以确定评论的确切数量,因为饲料99%的时间都遵循标准。即使博客是您自己的博客,如果您已经在生成RSS源,那么请不要打扰您的数据库。您已经这样做了以生成Feed,因此您只需遍历XML节点就可以了。这样你就没有额外的开销(取决于你想要获取这些信息的频率)。