Determinar programáticamente cuántos comentarios tiene una publicación de blog

StackOverflow https://stackoverflow.com/questions/47869

  •  09-06-2019
  •  | 
  •  

Pregunta

¿Cuál es la forma más eficaz de determinar cuántos comentarios tiene una publicación de blog en particular?Queremos almacenar los datos para una nueva aplicación web.Tenemos una lista de URL de enlaces permanentes, así como canales RSS.

¿Fue útil?

Solución

Si entendí correctamente, desea una heurística para estimar la cantidad de comentarios en una página HTML que se sabe que es una publicación de blog, ¿no?

Muy a menudo, un blog específico tendrá algunas características que facilitarán su elaboración.Si miras el mío en http://kstruct.com/ Verás que todas las páginas con comentarios dicen 'Respuestas X', por lo que si pudiste trabajar un poco por blog, probablemente no sea realmente difícil.

Si necesita algo genérico, supongo que hay algunas características comunes que tienen los comentarios que podría detectar.Por un lado, es muy probable que cualquier enlace que contengan tenga atributos rel="nofollow", por lo que verlo dentro de un bloque podría implicar que es un comentario.

Lo más interesante a buscar serían cambios en la estructura de las publicaciones del mismo sitio.Por ejemplo, también hay muchas posibilidades de que cada comentario tenga su propio ancla para que las personas puedan vincularlo directamente, por lo que podrías observar los diferentes números de etiquetas <a name="XXX"> en una página determinada en la misma sitio para tener una idea del número relativo de comentarios.

Como señaló Michael Stum, si las páginas tienen un canal RSS de comentarios, su vida se hace mucho más fácil porque puede obtener los datos de los comentarios en un formato estructurado.

Considerándolo todo, creo que será un problema bastante difícil de resolver en general.

Otros consejos

Si usted controla el blog, "Seleccionar recuento (commentid) DE comentarios DONDE postID = 2" posiblemente sea lo mejor.Si solo tiene la URL pero aún es su blog/db, necesita crear una subconsulta "DONDE postID = (SELECCIONE lo que sea DE las publicaciones DONDE enlace permanente = url)" o cualquiera que sea su forma de unir los comentarios a las publicaciones desde una URL.

Si es un blog remoto, tienes el problema de que cada blog tiene un HTML diferente.Básicamente, necesitará crear un analizador que analice el HTML y busque elementos repetidos como "div class=comment".Pero eso será principalmente un trabajo manual para cada blog diferente.

Algunos blogs pueden tener mejores formas, como un recuento de comentarios en algún lugar del HTML o alguna interfaz, pero no conozco ninguna forma estandarizada.

EDITAR:Si tienes un feed RSS de comentarios, puede tenga suerte usando un mecanismo que cuente nodos XML, como el de XPath Contar.

Los blogs casi siempre tienen un canal RSS para comentarios.Si tiene eso, entonces puede determinar la cantidad exacta de comentarios, ya que los feeds el 99% de las veces siguen un estándar.Incluso si el blog es suyo, si ya está generando una fuente RSS, no se moleste en realizar una llamada a su base de datos.Ya lo hiciste para generar el feed, por lo que tiene sentido que simplemente atravieses los nodos XML.De esa manera, no tendrá gastos generales adicionales (dependiendo de la frecuencia con la que desee obtener esta información).

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top