Domanda

Qual è il modo più efficace per determinare quanti commenti ha un particolare post del blog?Vogliamo archiviare i dati per una nuova app Web.Abbiamo un elenco di URL permalink e feed RSS.

È stato utile?

Soluzione

Se ho capito bene, vuoi un'euristica per stimare il numero di commenti in una pagina HTML nota per essere un post di blog, sì?

Molto spesso, un blog specifico avrà alcune funzionalità che ne facilitano il lavoro.Se guardi il mio, laggiù http://kstruct.com/ vedrai che tutte le pagine con commenti dicono "Risposte X", quindi se sei riuscito a fare un po' di lavoro in base al blog, probabilmente non è molto difficile.

Se hai bisogno di qualcosa di generico, immagino che ci siano alcune caratteristiche comuni dei commenti che potresti essere in grado di rilevare.Per prima cosa, è molto probabile che tutti i collegamenti in essi contenuti abbiano attributi rel="nofollow", quindi vederlo all'interno di un blocco potrebbe implicare che si tratti di un commento.

La cosa più interessante da cercare sarebbero i cambiamenti nella struttura dei post per lo stesso sito.Ad esempio, c'è anche un'ottima probabilità che ogni commento abbia il proprio ancoraggio in modo che le persone possano collegarsi direttamente ad esso, in modo da poter osservare i diversi numeri di tag <a name="XXX"> in una determinata pagina sullo stesso sito per avere un'idea del numero relativo di commenti.

Come ha sottolineato Michael Stum, se le pagine hanno un feed RSS di commenti, la tua vita è molto più semplice perché puoi ottenere i dati dei commenti in un formato strutturato.

Tutto sommato, però, penso che sarà un problema piuttosto impegnativo da risolvere in generale.

Altri suggerimenti

Se il blog è controllato da te, un "Seleziona conteggio (id commento) FROM commenti WHERE postID = 2" sarà probabilmente la cosa migliore.Se hai solo l'URL ma è comunque il tuo blog/db, devi creare una sottoquery "WHERE postID = (SELECT qualunque FROM posts WHERE permalink = url)" o qualunque sia il tuo modo per unire i commenti ai post da un URL.

Se si tratta di un blog remoto, hai il problema che ogni blog ha un codice HTML diverso.In sostanza, dovrai creare un parser che analizzi l'HTML e cerchi elementi ripetuti come "div class=comment".Ma questo sarà principalmente un lavoro manuale per ogni blog diverso.

Alcuni blog potrebbero avere modi migliori come il conteggio dei commenti da qualche parte nell'HTML o in qualche interfaccia, ma non sono a conoscenza di alcun modo standardizzato.

MODIFICARE:Se hai ricevuto un feed Comment-RSS, tu Maggio abbi fortuna usando un meccanismo che conta i nodi XML, come quello di XPath Contare.

I blog hanno quasi sempre un feed RSS per i commenti.Se lo disponi, puoi determinare il numero esatto di commenti, poiché i feed il 99% delle volte seguono uno standard.Anche se il blog è tuo, se stai già generando un feed RSS, non preoccuparti di chiamare il tuo DB.Lo hai già fatto per generare il feed, quindi è logico che tu attraversi semplicemente i nodi XML.In questo modo non avrai costi aggiuntivi (a seconda della frequenza con cui desideri ottenere queste informazioni).

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top