Как извлечь текстовое содержимое из html, например «Прочитать его позже» или из приложения InstaPaper Iphone? - PullRequest
9 голосов
/ 11 мая 2011

Я хочу извлечь основной контент статьи из html в моем приложении для Iphone и показать его в TextView или CoreText.

Прочтите это позже, и приложения InstaPaper Iphone имеют эту функцию, но после исследования в Интернете, Я до сих пор не могу сказать, как они это делают.

В настоящее время я беру текстовое содержимое из html по этому коду, но оно также требует много ненужного содержимого.

textArticle = [webView stringByEvaluatingJavaScriptFromString:@"document.body.innerText"];

Этот вопрос - то, что я хотел, но, к сожалению, это было не для приложения Iphone.
Instapaper-подобный алгоритм

Это открытый источник для такого рода функций, но я не уверен, смогу ли я использовать его для приложения Iphone. https://github.com/jiminoc/goose/wiki

Кажется, smartr предоставил API для этого раньше, но сейчас он недоступен. http://smartrmobi.blogspot.com/2011/02/smartr-api-withdrawn-until-further.html

Возможно, самый простой способ сделать это - получить содержимое статьи из элемента xml, но это только мое предположение.

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

Спасибо

Ответы [ 3 ]

11 голосов
/ 21 мая 2011

После исследования кажется, что я могу использовать API для извлечения текстового содержимого из Интернета.Это означает, что мне нужно получить доступ к веб-странице после того, как я получил URL-адрес и снова отобразить результат.

Это медленнее, чем просто использование скрипта js, показанного выше, потому что ему нужен доступ к веб-интерфейсу API, но читайте его позже, и оба используют этоподход, я думаю.

Ниже приведены веб-API, которые я нашел до сих пор.

http://viewtext.org/

этот API имеет очень хорошую функцию, которая объединяет многостраничные статьи в одну,Я использую этот API из-за этой функции, которой нет у других API.

http://fivefilters.org/content-only/

здорово, что вы можете купить скрипт и установить его на своем собственном сервере.

* ОБНОВЛЕНИЕ *

Кажется, что большинство приложений используют мобилизатор "Readability", "Instapaper" или "Google" для анализа только текстового содержимого изweb.

Среди них мой любимый на данный момент парсер "Readability", так как он не поставляется с рекламой, такой как парсер Instapaper.(Хотя нет ничего плохого в том, чтобы размещать рекламу для покрытия расходов на сервер)

Pocket также предоставляет анализатор статей только для разработчиков, которые создают карманные интегрированные приложения.

0 голосов
/ 25 ноября 2018

Используйте Newspaper3k, это потрясающе.

Извлечение метаданных новостей, полных текстов и статей в Python 3.

https://github.com/codelucas/newspaper

0 голосов
/ 07 декабря 2014
...