2012-02-09 13 views
6

¿Cómo se puede obtener Evernote's Web Clipper plugin o Announcify plugin solo el artículo/publicación/contenido pertinente en una parte de la página? Aquí es una captura de pantalla de plug-in de Evernote:Obtenga solo la parte relevante del sitio web

enter image description here

No importa el sitio web que visita, que es completamente diferente de otros wises de diseño, estos siempre son capaces de conseguir que el artículo/parte/post contenido de la página.

Cada sitio web tiene diferentes diseños, algunos tienen barra lateral, algunos no, diferentes etiquetas, por parte principal/artículo/contenido, algunos utilizan <article> o <section> de HTML5 que otros utilizan <h1> > <p>, algunos utilizan <h2> > <p> y otros no utilizar en absoluto. Por lo tanto, hay diferentes combinaciones de etiquetas y diseños de sitios web.

¿Alguien puede sugerir una solución para obtener principal artículo/publicación/contenido por favor a través de Javascript o PHP?

+0

Eso es inteligente ... – Jivings

+0

¿Tal vez busca el 'div' u otro elemento más grande en la página? – Jivings

+0

@Jivings: El div más grande contendrá todo el sitio, queremos poder encontrar el elemento que contiene la parte principal/del artículo :) – Dev555

Respuesta

7

Usted puede hacer un simple análisis de DOM y la búsqueda de los <div> s y <p> s que contienen más texto (texto! No código HTML!). Sin embargo, independientemente del método inteligente que elija para determinar dónde se encuentra el contenido, debe comenzar desde DOM que analiza, así que echemos un vistazo al análisis DOM de las bibliotecas PHP.

De todos modos, puede comenzar a partir de esto:

http://w-shadow.com/blog/2008/01/25/extracting-the-main-content-from-a-webpage/

se ve bastante bien, y da explicaciones técnicas, si quieres escribir algo propio.

+0

Esta es una solución horrible. Pero probablemente el mejor. – Jivings

+1

@Jivings ¿Por qué horrible? –

+0

Porque el análisis DOM me hace estremecer. Pero su enlace parece interesante. – Jivings

0

La mayoría de los motores de blog le dan a ese div un id de 'contenido'.

  • en JavaScript que sólo haría $ ('# content')
  • en PHP que haría DOMDocument :: getElemenById ('contenido').
Cuestiones relacionadas