Извлечение основного содержания статьи (JavaScript)

Я пишу программу, которая читает общую HTML-страницу «статьи» (Wikipedia, NY Times, Yahoo News и т. д.). С этой страницы я хочу убрать весь «шум» (рекламу, заголовки... все, что не является частью содержания статьи). Если подумать, я хочу сохранить самое важное. (Основное содержание, Название, автор)

Я пытаюсь придумать умный способ найти основное содержание статьи. У меня есть несколько идей, но они не совсем то, что мне нужно. Я не хочу анализировать каждый узел в DOM. Моя текущая идея заключается в использовании размера элементов.

Любые идеи приветствуются. По сути, это вопрос дизайна.

Спасибо.


person Damon Williams    schedule 29.05.2015    source источник
comment
Какая у вас платформа? Браузер? узел.js? И как выглядит содержимое (нам нужно увидеть HTML)? Удаление контента из HTML не имеет универсального решения. Все решения зависят от понимания того, как конкретный целевой сайт организует свой контент.   -  person jfriend00    schedule 29.05.2015
comment
Возможно, вам будет интересно узнать больше о тегах <main> и <article> HTML5. Дополнительная информация: diveintohtml5.info/semantics.html   -  person johnnyRose    schedule 29.05.2015
comment
Кроме того, почему бы вам не использовать анализатор HTML, а затем анализировать проанализированный документ? Вы усложняете работу в сотни раз, если не собираетесь анализировать HTML.   -  person jfriend00    schedule 29.05.2015
comment
Спасибо @johnnyRose Ваш комментарий был самым полезным для страниц HTML5. Общий парсинг HTML4 довольно сложен, но я все еще работаю над этим.   -  person Damon Williams    schedule 10.07.2015
comment
Рад слышать! Надеюсь, ты со всем разобрался.   -  person johnnyRose    schedule 10.07.2015


Ответы (1)


Я думаю, что настроить парсер самостоятельно, вероятно, слишком сложно. Часто бывает плохая разметка без семантических элементов и прочего.

Что вы можете сделать, так это использовать API Parser от Readability. Если вы используете NodeJS, вы можете сделать запрос http.get, если вы используете Javascript в браузере, вы можете сделать запрос ajax к API.

person Community    schedule 29.05.2015
comment
Сдаться — недопустимый вариант. Я делаю это, вопрос только в том, как. - person Damon Williams; 01.07.2015
comment
Конечно, вы можете это сделать. Точно так же я могу построить свой собственный дом, собственную машину или что-то еще. То, что я могу сделать это в теории, не означает, что я должен делать это на практике. Вот почему Readability API может быть очень полезен, потому что вы можете использовать их опыт и вместо этого сосредоточиться на своем реальном продукте. - person ; 01.07.2015