Анализатор текста с PHP, как Instapaper - PullRequest
1 голос
/ 24 января 2010

Я пытаюсь написать синтаксический анализатор текста на PHP, как это делал Instapaper. То, что я хочу сделать, это; получить веб-страницу и разобрать ее в текстовом режиме.

Получить веб-страницу с помощью cURL и удалить HTML-теги просто. Но у каждой веб-страницы есть некоторые общие области; например, заголовок, навигация, боковая панель, нижний колонтитул, баннеры и т. д. Я хочу получить статью только в текстовом режиме и исключить все остальные части. Также легко исключить эти части, если я знаю информацию "id" или "class". Но я пытаюсь автоматизировать этот процесс и подать заявку на любую страницу, например Instapaper.

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

Мне не важно найти точный код. Также было бы полезно понять, как исключить ненужные части, так как я могу попытаться написать свой собственный код на PHP. Было бы также полезно, если есть примеры на других языках.

Спасибо за помощь.

Ответы [ 5 ]

3 голосов
/ 24 января 2010

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

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

2 голосов
/ 21 декабря 2010

вы можете взглянуть на источник из Goose -> он уже много чего делает, как извлечение текста из бумаги

https://github.com/jiminoc/goose/wiki

1 голос
/ 21 февраля 2011

Посмотрите на код ExtractContent от Shuyo Nakatani.

См. Оригинальный источник Ruby http://rubyforge.org/projects/extractcontent/ или его порт для Perl http://metacpan.org/pod/HTML::ExtractContent

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

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

не все алгоритмы подходят для всех целей. самое большое применение таких инструментов - просто получить необработанный текст для индексации в качестве поисковой системы. идея в том, что вы не хотите, чтобы результаты поиска были испорчены рекламой. такие извлечения могут быть разрушительными; Это означает, что это не даст вам «наилучшее место для чтения», а именно то, что люди хотят с инстаграм или читабельностью

0 голосов
/ 24 января 2010

Вы действительно должны использовать для этого HTML-парсер . Соберите похожие страницы и сравните DOM-деревья, чтобы найти разные узлы.

...