




Если блог контролируется вами, возможно, лучше всего подойдет вариант «Выбрать количество (commentid) FROM comments WHERE postID = 2». Если у вас есть только URL-адрес, но все же это ваш блог / база данных, вам необходимо создать подзапрос «WHERE postID = (ВЫБЕРИТЕ все из сообщений WHERE permalink = url)» или как угодно, чтобы присоединить комментарии к сообщениям с URL-адреса.
Если это удаленный блог, проблема заключается в том, что в каждом блоге разный HTML. По сути, вам нужно будет создать синтаксический анализатор, который анализирует HTML и ищет повторяющиеся элементы, такие как «div class = comment». Но это будет в основном ручной труд для каждого отдельного блога.
В некоторых блогах могут быть лучшие способы, например, подсчет комментариев где-нибудь в HTML или каком-либо интерфейсе, но я не знаю ни одного стандартизированного способа.
Обновлено: если у вас есть канал комментариев-RSS, вам, май, повезло с использованием механизма, который подсчитывает узлы XML, например Считать XPath.
Если я правильно понимаю, вам нужна эвристика для оценки количества комментариев на HTML-странице, которая известна как сообщение в блоге, да?
Очень часто в конкретном блоге есть функции, которые упрощают работу. Если вы посмотрите на мой http://kstruct.com/, вы увидите, что на всех страницах с комментариями написано «X Responses», так что, если вы могли поработать отдельно для каждого блога, это, вероятно, не так уж сложно.
Если вам нужно что-то общее, я думаю, есть несколько общих функций, которые есть в комментариях, которые вы могли бы обнаружить. Во-первых, любые ссылки в них, скорее всего, будут иметь атрибут rel = "nofollow", поэтому вид внутри блока может означать, что это комментарий.
Главное, на что стоит обратить внимание, - это изменения в структуре сообщений для одного и того же сайта. Например, также очень высока вероятность того, что у каждого комментария будет собственный якорь, чтобы люди могли ссылаться на него напрямую, чтобы вы могли посмотреть на разное количество тегов <a name="XXX"> на данной странице на одной и той же странице. сайт, чтобы получить представление об относительном количестве комментариев.
Как отметил Майкл Стум, если на страницах есть RSS-канал комментариев, ваша жизнь станет намного проще, потому что вы можете получить данные комментариев в структурированном формате.
В целом, однако, я думаю, что в целом решить эту проблему будет довольно непросто.
В блогах почти всегда есть RSS-канал для комментариев. Если он у вас есть, вы можете определить точное количество комментариев, поскольку в 99% случаев каналы соответствуют стандарту. Даже если блог ваш собственный, если вы уже создаете RSS-канал, не беспокойтесь о вызове своей БД. Вы уже сделали это, чтобы сгенерировать канал, поэтому имеет смысл просто пройти по узлам XML. Таким образом, у вас не будет дополнительных накладных расходов (в зависимости от того, как часто вы хотите получать эту информацию).