1. Начата процедура восстановления социальных групп. Лидерам старых и новых групп обязательно ознакомиться с регламентом проведения работ.

Есть вопрос по парсингу текста с помощью Php

Тема в разделе 'PHP', создана пользователем асс, 21 ноя 2011.

  1. Добрый вечер, подскажите пожалуйста.
    Можно ли регулярками выдрать текст на странице.
    Допустим подсчитать количество русских букв в тексте определить самый большой кусок и вырезать его.


    Наример стили скрипты фреймы можно вырезать с помощью
    регулярок.
    PHP:
     $textpreg_replace('/<object(.*?)<\/object>/is',""$text);
    Буду очень признателен за идеи или примеры.

    ТОесть интересует работа без привязки в дизайну и тегам.

    Вырезать регуляркой с привязкой к шаблонам нет сложностей,

    например

    PHP:
    preg_match('/<img src=\"(.*?)\" title=\"(.*?)\" alt=\"\" \/><strong>(.*?)<\/strong><\/div><p>(.*?)<\/p><p>(.*?)<\/p><p>(.*?)<\/p><\/div><ul class=\"b-tabs\"><li class=\"b-tabs__item b-tabs__active\">(.*?)<\/li><li class=\"b-tabs__item\">/si'$result$find);


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

    возможно XPath Вам поможет.
    Установите расширения FireBug и FirePath на FireFox'е ))
    Поможет удобно генерировать запросы и быстро разбираться.
  3. Задача слишком туманно сформулирована. Чтобы "выдрать текст не привязываясь к тегам" - в простейшем случае, можно обойтись конфиг-файлом, где ты сам задаешь вид шаблона тегов для регулярки, либо пишешь самообучающуюся систему с элементами ИИ, которая по известным тебе критериям - определяет, что именно нужно вырезать на странице итд. Обычно парсер пишется для Н конкретных сайтов, и особенности их исходного HTML-кода зашиваются куда-нить в конфиг, писать типа-ИИ-парсер - себе дороже ;)

  4. Да это понятно, хотя мне кажется регуляркой можно составить осную часть работы.

    Ведь есть же универсальные парсеры по ключевым словам например.
    Вот и яхочу сделать подобное.
  5. принцип примерно такой весь текст страницы разбиваем на td или на div и дальше анализ полученных блоков на количество текста и на количество ссылок в этом тексте ну и тд и тп
  6. либа специальная продавалась с пару лет назад
    разраб говорил что 100% эффект, продавалась за сумму что то около 100$ (в исходнике)

  7. Вы забейте урл


    Хотя на 90% справляется со своей задачей.

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

    не хочу быть организатором складчины, буду рад если тему кто то другой создаст.

    думаю на 3+ человек уже можно взять

    либа то известная, наверняка у кого то на нулледе есть ...
    мож кто поделится ?? :)
  9. В некотором роде тема известная и довольно давно появилась. Генератор дорвеев был с таким вот модулем. Как то ...бабло называлось. Как уже сказали, основная идея - Мы находим слой в котором больше всего контента. Лучше\легче всего использовать dom парсер. Он знает о структуре документа. с учётом некоторых ньюансов, типа - нужно отбросить комментарии, их ведь может быть намного больше чем самого контента, контент может иметь не простейшую структуру типа <p>..</p> а ещё и таблицы и тп...

    Особо не копал в этом направлении, но так и не смог придумать как расширить функционал этого метода, безшаблонного парсинга. А пока (как мне кажется, человеку который не клепает доры и ничего о них не знает) возможности скромные- можно парсить только типа новостников, форум\магаз\геллерею получить не получится нормально. + мусор. Либо нужно делать админку и валидацию проводить каждого сайта.

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