0

特定のブログ投稿のコメント数を確認する最も効率的な方法は何ですか? 新しい Web アプリのデータを保存したいと考えています。パーマリンク URl と RSS フィードのリストがあります。

4

3 に答える 3

4

ブログがあなたによって管理されている場合、「Select count(commentid) FROM comments WHERE postID = 2」がおそらく最良の方法です。URL しかないのにブログ/データベースである場合は、「WHERE postID = (SELECT what FROM posts WHERE permalink = url)」というサブクエリを作成するか、URL からの投稿にコメントを結合する方法を作成する必要があります。

リモート ブログの場合、各ブログの HTML が異なるという問題があります。基本的に、HTML を解析し、"div class=comment" のような繰り返し要素を探すパーサーを作成する必要があります。しかし、それはほとんどの場合、ブログごとに手作業になります。

一部のブログでは、HTML やインターフェイスのどこかにコメント カウントなどのより良い方法がある場合がありますが、標準化された方法については知りません。

編集: Comment-RSS フィードを取得した場合は、XPath のCountのような XML ノードをカウントするメカニズムを使用して運が良いかもしれません。

于 2008-09-06T22:06:26.220 に答える
2

私が正しく理解していれば、ブログ投稿として知られているHTMLページのコメント数をヒューリスティックに見積もる必要がありますね。

非常に多くの場合、特定のブログには、簡単に解決できるいくつかの機能があります。http://kstruct.com/で私のものを見ると、コメント付きのすべてのページに「X Responses」と書かれていることがわかります。したがって、ブログごとにいくつかの作業を行うことができた場合、それはおそらく実際にはそうではありません。難しい。

一般的なものが必要な場合は、コメントに含まれている、検出できる可能性のある一般的な機能がいくつかあると思います。1つは、リンク内のリンクにrel = "nofollow"属性がある可能性が非常に高いため、ブロック内でそれを確認すると、コメントであることを意味する場合があります。

探すべき主な興味深いことは、同じサイトの投稿の構造の変更です。たとえば、各コメントに独自のアンカーがあり、ユーザーが直接リンクできる可能性が非常に高いため、同じページの特定のページにあるさまざまな数の<aname="XXX">タグを確認できます。コメントの相対的な数のアイデアを得るためのサイト。

Michael Stumが指摘したように、ページにComment-RSSフィードがある場合、構造化された形式でコメントデータを取得できるため、作業が大幅に楽になります。

とはいえ、全体として、一般的に解決するのは非常に難しい問題になると思います。

于 2008-09-07T02:27:36.717 に答える
0

ブログには、ほとんどの場合、コメント用のRSSフィードがあります。それがあれば、99%の時間フィードが標準に従っているので、コメントの正確な数を決定できます。ブログが自分のものであっても、すでにRSSフィードを生成している場合は、わざわざDBを呼び出さないでください。フィードを生成するためにすでにそれを行っているので、XMLノードをトラバースするだけでよいのは理にかなっています。そうすれば、追加のオーバーヘッドが発生しません(この情報を取得する頻度によって異なります)。

于 2008-09-07T02:46:48.683 に答える