Получить только соответствующую часть веб-сайта
Как Плагин веб-клипера Evernote или Объявляет плагин только соответствующую статью/публикацию/часть содержимого страницы? Вот скриншот из плагина evernote:
Независимо от того, какой веб-сайт вы посещаете, который полностью отличается от других вариантов макета, они всегда могут предоставить вам часть статьи/публикации/контента страницы.
Каждый веб-сайт имеет разные макеты, у некоторых есть боковая панель, у некоторых нет, разные теги, для основная часть/статья/контент, некоторые используют <article>
или <section>
HTML5, другие используют <h1> > <p>
, некоторые используют <h2> > <p>
, а другие вообще не используют. Таким образом, существуют различные комбинации тегов, а также макеты веб-сайтов.
Может ли кто-нибудь предложить решение для получения основной статьи/публикации/контента, пожалуйста, с помощью Javascript или PHP?
2 answers
Вы можете выполнить простой синтаксический анализ DOM и выполнить поиск <div>
s и <p>
s, содержащих больше текста (текст! не HTML-код!). Однако, независимо от того, какой интеллектуальный метод вы выберете для определения местоположения содержимого, вы должны начать с DOM-анализа, поэтому давайте посмотрим на DOM-анализ PHP-библиотек.
В любом случае, вы можете начать с этого:
Http://w-shadow.com/blog/2008/01/25/extracting-the-main-content-from-a-webpage/
Выглядит довольно хорошо и дает технические пояснения, если вы хотите написать что-то свое.
Большинство движков блогов присваивают этому div идентификатор "контента".
- В javascript вы бы просто сделали $('#content')
- В php вы бы сделали DOMDocument::getElementById('содержимое').