ФорумПрограммированиеPHP для идиотов → анализ текста

анализ текста

  • phpdude

    Сообщения: 26624 Репутация: N Группа: в ухо

    Spritz 28 января 2009 г. 16:01

    народ, как вы думаете? кто нить может делал уже.

    короче надо анализатор хтмл текста.

    я ввожу url странички, а он мне возвращает текст без дизайна, но! это должна быть реальная текстовая масса, а не навигация и "партнеры" …. есть идеи как такое организовать? должно просто давать текст, не надо доп навигацию. я в свое время делал, можно бить на дивы и таблицы, обычно ими верстают …. но как … тут много анализа, влом влезать в это все сильно …
    Сапожник без сапог
  • Professor

    Сообщения: 2089 Репутация: N Группа: Адекваты

    Spritz 28 января 2009 г. 16:05, спустя 4 минуты 4 секунды

    Как параметр для анализа, количество слов.
    Если меньше 10 в див заключено то не текст.
    80% точно текста соберешь.
  • Givi

    Сообщения: 2284 Репутация: N Группа: Адекваты

    Spritz 28 января 2009 г. 16:12, спустя 6 минут 58 секунд

    ну если есть уверенность, что текста нормально на странице, то пытаться найти его начало посредством "от начала любого текста до первого тега <a href…> или </a>, при условии, что знаков не менее… 200, например". Если условие не оправдалось, то проверка на то, что (какой текст) идет в ссылке (после неё), и подобная проверка на кол-во символов. В случае успеха, первую часть принять за нужный текст.
    Но вообще как по мне, то очь сложное это дело, особенно с учетом того, что верстка если очень аккуратная (чистая), то не за что нормально зацепиться, а если "школьная", то там даже черт ногу сломает, а не то чтобы скрипт свою логику.
    Малофункциональную "гуглю"задумываешь?
  • Givi

    Сообщения: 2284 Репутация: N Группа: Адекваты

    Spritz 28 января 2009 г. 16:15, спустя 3 минуты 1 секунду

    Professor
    Не успел, но так как уже набрал все свои мысли, то удалять не стал, а то обидно :)
    А насчет 10 в див - тут не совсем так, потому как есть любители вузивугов, а эти самые взвг вставляют хлама много, который и будет в случае дивов путать логику скрипта + про таблицы не нужно забывать, а с ними немного сложнее.
  • phpdude

    Сообщения: 26624 Репутация: N Группа: в ухо

    Spritz 28 января 2009 г. 16:26, спустя 10 минут 8 секунд

    Givi,
    Малофункциональную "гуглю"задумываешь?


    утилитку для сбора контента по некоторым ключевикам)

    да. насчет школьной верстки это пиздец. я в свое время думал. об очистке текста от всякого УГ типа тр тд и тп

    пото выбираю жирные абзацы из текста, жырный - кто имеет меньше 3-4 переносов строк на текст(верстка почти вся отсечется). и эти абзацы уже текст :) может так и поступлю.
    Сапожник без сапог
  • phpdude

    Сообщения: 26624 Репутация: N Группа: в ухо

    Spritz 28 января 2009 г. 16:26, спустя 45 секунд

    <td valign="top" width="85%" height="100%">
    <div class="post"><div class="gobbcodes">ну если есть уверенность, что текста нормально на странице, то пытаться найти его начало посредством &quot;от начала любого текста до первого тега <a href…> или </a>, при условии, что знаков не менее… 200, например&quot;. Если условие не оправдалось, то проверка на то, что (какой текст) идет в ссылке (после неё), и подобная проверка на кол-во символов. В случае успеха, первую часть принять за нужный текст.<br />

    Но вообще как по мне, то очь сложное это дело, особенно с учетом того, что верстка если очень аккуратная (чистая), то не за что нормально зацепиться, а если &quot;школьная&quot;, то там даже черт ногу сломает, а не то чтобы скрипт свою логику.<br />
    Малофункциональную &quot;гуглю&quot;задумываешь?</div></div>
    <tr>
    <td valign="bottom" class="smalltext" width="85%">
    <table width="100%" border="0" style="table-layout: fixed;"><tr>
    <td colspan="2" class="smalltext" width="100%">
    </td>

    </tr><tr>
    <td valign="bottom" class="smalltext" id="modified_32763">
    </td>
    <td align="right" valign="bottom" class="smalltext">
    <a href="http://pyha.ru/forum/reporttm/32763/1911.2">Сообщить модератору</a> &nbsp;
    <img src="http://pyha.ru/forum/Themes/md5/images/ip.gif" alt="" border="0" />
    <a href="http://pyha.ru/forum/helpadmin/see_member_ip" onclick="return reqWin(this.href);" class="help">Записан</a>

    </td>
    </tr></table>
    <hr width="100%" size="1" class="hrcolor" />
    <div class="signature">Все, что говорят другие - неправда! До тех пор, пока ты сам в это не поверишь.</div>
    </td>
    Сапожник без сапог
  • phpdude

    Сообщения: 26624 Репутация: N Группа: в ухо

    Spritz 28 января 2009 г. 16:27, спустя 59 секунд

    видишь сколько пробелов между текстом? и после него? :) думаю это один из методдов %) хочется услышать мысли едворда и мавра с мд5 :)
    Сапожник без сапог
  • md5

    Сообщения: 11949 Репутация: N Группа: в ухо

    Spritz 28 января 2009 г. 16:41, спустя 13 минут 22 секунды

    я бы предложил парсить то, что в <p>, <h..> и т.д., а потом уже доверять тому, что в <div> и <table>
    все умрут, а я изумруд
  • phpdude

    Сообщения: 26624 Репутация: N Группа: в ухо

    Spritz 28 января 2009 г. 16:45, спустя 4 минуты 8 секунд


    я бы предложил парсить то, что в <p>, <h..> и т.д., а потом уже доверять тому, что в <div> и <table>
    вот кстати разумный вариант тоже …
    Сапожник без сапог
  • phpdude

    Сообщения: 26624 Репутация: N Группа: в ухо

    Spritz 28 января 2009 г. 16:58, спустя 12 минут 45 секунд

    http://94.31.169.103/textparser/
    стало

    было
    http://ru.php.net/manual/ru/regexp.reference.php

    .. как вам результат? …
    Сапожник без сапог
  • phpdude

    Сообщения: 26624 Репутация: N Группа: в ухо

    Spritz 28 января 2009 г. 17:04, спустя 6 минут 23 секунды

    теперь можно с ней поиграть ;)

    например так http://94.31.169.103/textparser/?url=http://pyha.ru/forum/topic/1911.new

    как вам результаты?
    Сапожник без сапог
  • Givi

    Сообщения: 2284 Репутация: N Группа: Адекваты

    Spritz 28 января 2009 г. 17:11, спустя 7 минут 24 секунды

    http://94.31.169.103/textparser/?url=http://ru.php.net/manual/ru/regexp.reference.php

    Parse error: syntax error, unexpected '}' in /var/www/textparser/index.php on line 48

    В твоем же примере выводит только то, что данные в массиве.

    —–
    АПД: Сорри, наверное ошибка из-за твоих отладок была. Теперь все в норме. Кроме отображения массива
  • phpdude

    Сообщения: 26624 Репутация: N Группа: в ухо

    Spritz 28 января 2009 г. 17:14, спустя 3 минуты 1 секунду


    http://94.31.169.103/textparser/?url=http://ru.php.net/manual/ru/regexp.reference.php

    Parse error: syntax error, unexpected '}' in /var/www/textparser/index.php on line 48

    В твоем же примере выводит только то, что данные в массиве.

    —–
    АПД: Сорри, наверное ошибка из-за твоих отладок была. Теперь все в норме. Кроме отображения массива
    сейчас замучу все :))
    Сапожник без сапог
  • phpdude

    Сообщения: 26624 Репутация: N Группа: в ухо

    Spritz 28 января 2009 г. 17:15, спустя 10 секунд

    пока решил добавить логики пачку
    Сапожник без сапог
  • phpdude

    Сообщения: 26624 Репутация: N Группа: в ухо

    Spritz 28 января 2009 г. 18:11, спустя 56 минут 1 секунду

    народ, давайте поиграем в "кто знает как"

    из такого хтмл'а

    <div id="layout_2">
    <div id="leftbar">
    <!–UdmComment–>
    <ul class="toc">
    <li class="header home"><a href="index.php">PHP Manual</a></li>
    <li class="header up"><a href="funcref.php">Справочник функций</a></li>
    <li class="header up"><a href="refs.basic.text.php">Text Processing</a></li>

    <li class="header up"><a href="book.pcre.php">Функции для работы с регулярными выражениями (Perl-совместимые)</a></li>
    <li class="header up"><a href="pcre.pattern.php">Регулярные выражения PCRE</a></li>
    <li class="header up"><a href="reference.pcre.pattern.syntax.php">Синтаксис регулярных выражений</a></li>
    <li><a href="pcre.pattern.syntax.description.php">Вступление</a></li>
    <li><a href="pcre.pattern.syntax.differences.php">Отличия от Perl</a></li>
    <li class="active"><a href="regexp.reference.php">Регулярные выражения в деталях</a></li>

    </ul><!–/UdmComment–>

    </div>
    <div id="content" class="manual/ru">
    <!–UdmComment–>
    <div class="manualnavbar manualnavbar_top">


    вытянуть дивы, у которых внутри нет открывающихся и закрывающихся дивов? думаю что тут одна регулярка, вопрос - какая ….
    Сапожник без сапог

Пожалуйста, авторизуйтесь, чтобы написать комментарий!