2008-09-06 121 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節點就可以了。這樣你就沒有額外的開銷(取決於你想獲得這些信息的頻率)。

相關問題