Получить только соответствующую часть сайта - PullRequest
6 голосов
/ 09 февраля 2012

Как плагин Evernote Web Clipper или Announcify плагин получает только соответствующую статью / публикацию / контентную часть страницы? Вот скриншот из плагина evernote:

enter image description here

Независимо от того, какой веб-сайт вы посещаете и который полностью отличается от других макетов, на них всегда можно найти статью / публикацию / контентную часть страницы.

Каждый веб-сайт имеет разные макеты, некоторые имеют боковую панель, некоторые нет, разные теги, для основной / статьи / части контента, некоторые используют <article> или <section> HTML5, другие используют <h1> > <p>, некоторые используют <h2> > <p> и другие не используют вообще. Таким образом, существуют различные комбинации тегов и макетов веб-сайтов.

Может кто-нибудь предложить решение для получения основной статьи / публикации / контента, пожалуйста, через Javascript или PHP?

Ответы [ 2 ]

7 голосов
/ 09 февраля 2012

Вы можете выполнить простой анализ DOM и найти <div> s и <p> s, содержащие больше текста ( текст! Не HTML-код! ). Однако независимо от интеллектуального метода, который вы выберете для определения местоположения контента, вы должны начать с анализа DOM , поэтому давайте посмотрим на PHP-библиотеки DOM-анализа.

В любом случае, вы можете начать с этого:

http://w -shadow.com / блог / 2008/01/25 / извлечения-на-Майне-контент-с-а-странице /

Выглядит неплохо и дает технические пояснения, если вы хотите написать что-то свое.

0 голосов
/ 10 февраля 2012

Большинство блоговых движков дают этому div идентификатор id «контента».

  • В javascript вы просто делаете $ ('# content')
  • В php вы будете делать DOMDocument:: getElementById ('content').
...