10 Jun
Posted by alexf as SEO, генерация текста, идеи, палю тему, серые сайты
« Домены от реселлер клуба | Как обновлять Blogroll »
Контент нужен всем вебмастерам, но по настоящему уникальный контент создавать тяжело и накладно, поэтому постоянно идёт работа над различными уникализаторами контента чужого.
Допустим у нас есть прилично работающий синонимайзер, но откуда брать контент, которые ему поставляется на вход? Придётся либо снова искать какие-то малоизвестные источники, где контент хорошо структурирован, либо попытаться написать универсальный парсер, который бы мог обрабатывать любые страницы, извлекая из них тексты. После многих экспериментов, я сделал себе такой парсер, который если и не может извлечь статью из абсолютно любой страницы, то по крайней мере может это сделать с большинством страниц, то есть если скормить ему выдачу гугла по нужному кею, то скажем из 10 результатов на выходе получится 3-5 статей. Принцип работы такого парсера состоит в сравнении содержимого div’ов, из которых выбирается div с самым длинным содержимым, не содержащим других вложенных div’ов. Дополнительно надо очищать текст от форм, списков и ссылок, иначе очень часто самым длинным дивом будет какой-нибудь календарь, список ссылок или меню. Для большего охвата, можно пытаться в дополнение к дивам, обрабатывать по тому же принципу ячейки таблиц и другие хтмл элементы, куда может быть засунута статья.
Отдельная задача – поиск правильного заголовка статьи. Заголовок может содержаться либо в теге title, либо в каком-либо из тегов H1-H2. В целом, определить правильный заголовок статьи может быть сложнее чем собственно вытащить её текст. Тут можно сделать так: скачать кроме страницы со статьёй, ещё какую-нибудь страницу с того же сайте и посмотреть чем различаются эти страницы, и попытаться принять решение на основе разницы между страницами.
18 Responses
June 10th, 2008 at 17:28:02
// php gravatar() ?>1Как раз вчера начал писать этот парсер. Алгоритма я ранее не знал, самостоятельно придумал и получился ОЧЕНЬ схожим с твоим.
Ну думаю все кто делали такой парсер шли именно по такому пути. Только реализация у всех разная.
Я даже сделал себе пометочку, чтобы написать об этом алгоритме у себя в блоге. Но вижу, что смысла уже особо и нет
June 10th, 2008 at 17:48:53
// php gravatar() ?>2Вирусное СЕО, почему бы не написать, вдруг удастся что-то новое придумать.
June 10th, 2008 at 19:06:29
// php gravatar() ?>3Пользую подобное. Задача получить статьи не стоит, выдираю просто куски текста.
Беру длинные (от 80-200) , , и пр. конструкции нижнего уровня. Очищаю от всех оформительских тегов (b, i, …). Затем анализирую строку на предмет “негодных” символов. Ну и при превышении итогового коэфф-та строка считается хуевой и выкидывается. В целом выходит около 1-2% ошибок в обе стороны (выкидывается лишнее, пропускает ненужное), что очень даже неудовлетворительно… Работаем дальше
June 10th, 2008 at 19:11:05
// php gravatar() ?>4Баян
http://noulake.com/tools/recognize.php
June 10th, 2008 at 19:28:38
// php gravatar() ?>5У меня выход процентов 90с любого англоязычного сайта с гугл новостей. Причем статьи полностью, даже состоящие из нескольких кусков, разделенных например рекламой. Правда алгоритм послежней
June 10th, 2008 at 21:53:57
// php gravatar() ?>6Ну и я похвастаюсь, что у меня тоже есть такой скрипт. И другие тоже.

А сейчас отлаживаю на php выдераловку из каталога статей на английском языке.
Всё локально на моём десктопе.
June 10th, 2008 at 23:23:42
// php gravatar() ?>7Интересно, что будет когда все поголовно займутся переписыванием чужого контента – будет ли кто-то заморачиваться созданием нового или будут миксоваться производные предыдущих рерайтов?
June 11th, 2008 at 09:15:16
// php gravatar() ?>8Кранты будут …. гуглу ))
А вообще такого не будет – “новости” всегда свежие есть.
June 14th, 2008 at 15:17:03
// php gravatar() ?>9была как то давненько прога, называлась ВебЛомастер. собственно тем и занималась что вытаскивала контент из сохраненных вебстраничек.. счаз я для своего парсера контента ее приспособил..
в скором времени придется писать свой алгоритм … автор вебломастера делиться исходником не пожелал… а вы исходничок не откроете случайно?
June 15th, 2008 at 12:37:20
// php gravatar() ?>101)Наверно всё-же не парсер, а граббер.
2)Приявязываться к DIVам пока ещё рано.
3)У себя я использовал в качестве признака не количество текста а “ширину”. Всякие неуравновешенные товарищи иной раз в боковых колонках налепят такие количества текста на фоне которого может теряться и основная часть.
Логика примерно такая:
1)Ищутся 2-3-4-1 тег на одном уровне DOM-дерева, таких что в них попадает большая часть текста (по сути – находим откуда растут колонки)
2)стили модифицируются таким образом, что бы все притенденты получили рамку опеределённого цвета.
3)С помощью сервисов генерации preview-сайтов – получаем изображение модифицированного сайта.
4)По картинке измеряем какой из претендентов – самый широкий – там и основная часть.
Ну а дальше либо чистить текст либо на вход автоматического генератора парсеров либо ..вобщем зависит от задач
July 10th, 2008 at 19:55:43
// php gravatar() ?>11И почему я ещё не изучил php =\ а так приходится составлять ТЗ платить за вып работу =\
July 10th, 2008 at 20:00:04
// php gravatar() ?>12Anfi, вообще то разделение труда штука полезная, поскольку количество часов в сутках строго ограничено.
September 8th, 2008 at 19:06:18
// php gravatar() ?>13Вопрос про универсальный парсер контента мне задали через контактную форму на моём блоге. Так как мой блог – не про seo и похожие дела, то решил ответить здесь. Может и Alexf скажет своё веское слово.
Собственно говоря ты писал коммент что у
тебя есть автопарсер статей с любого
источника, большая просьба …
Для начала ничего универсального в этой жизни нет. Нет и универсального парсера контента с любого источника. У всех источников своя уникальная структура и парсить одной программой одинаково разные источники невозможно. Или почти невозможно. Можно настроиться на один источник и парсить только его.
Парсер, который я сейчас активно использую, написан на PHP, и запускается с моего десктопа с разных IP, чтобы у источника не было ко мне притензий. Полученный контент помещается в отдельные файлы, которые потом закачиваются через ftp на сервер. Имя файла – ключевая фраза. Она станет потом title, description, H1-H2 и ну и остальные seo-ошные дела.
November 24th, 2008 at 02:17:34
// php gravatar() ?>14Есть такой парсер: http://romb.ru/
September 23rd, 2009 at 14:10:32
// php gravatar() ?>15Вот тут есть универсальный парсер контента: sjs-soft.ru Конечно он не все делает на автомате, но универсальность это компенсирует. Легко настраивается под любой сайт с использованием системы шаблонов… Мне нравится:)
February 28th, 2010 at 19:12:27
// php gravatar() ?>16Вот на серче продается тоже из этой серии – только в виде ворпдресс плагина:
http://forum.searchengines.ru/showthread.php?t=464753
March 29th, 2010 at 13:31:09
// php gravatar() ?>17интересная тема, есть еще люди, которые готовы потрудиться, чтобы в последствии ничего не делать
. Только таким образом полезную и актуальную инфу искать среди всего будет ой как не просто обычному сетянину…
April 24th, 2010 at 10:23:36
// php gravatar() ?>18Появился новый универсальный парсер, который можно настроить на практически любой сайт. Отличительной особенностью от остальных аналогов является возможность создать многоуровневую структуру запроса + использование регулярных выражений. Не заточен под какую-то отдельную CMS, что дает ему еще больше универсальности. Подробности о парсере можно посмотреть здесь: http://devphp.org.ua/?menu=scripts&sub=&sshow=4
RSS feed for comments on this post · TrackBack URI
Написать комментарий
Про что писал
Календарь
Куйворды
Архив
Подписка на блог
Статистика подписки
Страницы
Комментарии
Последние посты
Blogroll
Счётчики
Свежие записи
Последние комментарии
Интересное на блоге
Самое комментируемое
SEO блог где палят темы is proudly powered by WordPress - BloggingPro theme modified by alexf