2008-09-06 79 views

回答

2

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

很多时候,一个特定的博客会有一些功能可以很容易地制定出来。如果您在http://kstruct.com/处看到我,您会看到所有带有注释的页面都会显示'X响应',因此如果您能够根据每个博客进行一些工作,则可能并不困难。

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

要寻找的主要有趣的事情将是在同一网站的帖子结构的变化。例如,每个评论都有自己的锚点,这样人们就可以直接链接到它,所以您可以查看不同数量的< name =“XXX”>在给定页面上的标签是否相同网站了解相关的评论数量。

正如Michael Stum所指出的,如果页面有评论RSS馈送,那么您的生活会变得更容易,因为您可以以结构化格式获取评论数据。总之,总的来说,我认为这将是一个相当具有挑战性的问题。

4

如果博客由您控制,“Select count(commentid)FROM comments WHERE postID = 2”可能是最好的选择。如果你只有URL但仍然是你的blog/db,你需要创建一个子查询“WHERE postID =(选择任何FROM帖子WHERE permalink = url)”或者任何你想通过URL从帖子中加入评论的方式。

如果是远程博客,则说明每个博客都有不同的HTML。从本质上讲,你将需要构建一个解析HTML的解析器,并寻找像“div class = comment”这样的重复元素。但是,这将主要是每个不同博客的体力劳动。

有些博客可能有更好的方法,比如在HTML或某个界面的某处发表评论,但我不知道任何标准化的方式。

编辑:如果您有评论RSS提要,您可能有运气使用计数XML节点的机制,如XPath的Count

0

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