Извлечение основного текста с веб-сайтов, например, извлечение только заголовка статьи и текста, а не всего текста на сайте - PullRequest
8 голосов
/ 21 апреля 2011

Я ищу алгоритмы, которые позволяют извлекать текст с веб-сайтов. Я не имею в виду «раздеться HTML» или любую из сотен библиотек, которые позволяют это.

Так, например, для новостной статьи я хотел бы указать заголовок и весь текст, но не раздел комментариев и т. Д.

Есть ли какие-нибудь алгоритмы для этого? Спасибо!

Ответы [ 5 ]

9 голосов
/ 23 апреля 2011

В литературе по информатике эта проблема обычно упоминается как сегментация страницы или обнаружение котельной пластины .См. Отчет Обнаружение Boilerplate с использованием функций мелкого текста и связанных с ним сообщений blog .Кроме того, у меня есть несколько отчетов и сайтов с программным обеспечением , отмеченных закладкой , которые решают проблему.Также см. этот вопрос stackoverflow.

1 голос
/ 08 мая 2011

есть несколько инструментов с открытым исходным кодом, которые выполняют похожие задачи извлечения статей. https://github.com/jiminoc/goose, который был открытым исходным кодом Gravity.com

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

1 голос
/ 22 апреля 2011

То, что вы пытаетесь сделать, называется «извлечением контента».Оказывается, это удивительно трудная задача, которую трудно решить хорошо, и многие наивные решения справляются довольно плохо.может чему-то научиться, глядя на их решения.Они также предоставляют услуги, которыми вы, возможно, сможете воспользоваться - возможно, вы можете передать свою проблему им и позволить их API позаботиться об этом.:)

Если это не удастся, поиск по запросу " извлечение html-содержимого " даст множество полезных результатов, включая ряд статей по этой теме.

0 голосов
/ 24 апреля 2018

Я думаю, что вам лучше всего изучить, какую информацию вы можете получить из метаданных, и написать хороший html-парсер, oEmbed может быть хорошим стандартом =)

https://oembed.com/#section7

0 голосов
/ 30 сентября 2016

«Извлечение контента» - очень сложная тема. Не существует общих стандартов для идентификации контента «основной статьи» (существует несколько подходов, облегчающих чтение HTML-кода для сканеров, например schema.org , но ни один из них не используется очень популярно).

Получается, что если вы хотите хороших результатов, вероятно, лучше всего определить собственные селекторы XPath для каждого (новостного) сайта, который вы хотите просмотреть. Хотя есть некоторые API для извлечения HTML-контента, но, как я уже сказал, очень сложно разработать алгоритм, который работает для каждого сайта.

Некоторые API, которые вы можете использовать:

alchemyapi.com
diffbot.com
boilerpipe-web.appspot.com
aylien.com
textracto.com

...