-Музыка

 -Кнопки рейтинга «Яндекс.блоги»

 -Подписка по e-mail

 

 -Поиск по дневнику

Поиск сообщений в Rabota_gorit

 -Сообщества

Читатель сообществ (Всего в списке: 4) axeeffect_ru -Kritika-LiRu- Бизнес_сообщество АРТ_АРТель

 -Статистика

Статистика LiveInternet.ru: показано количество хитов и посетителей
Создан: 20.02.2008
Записей:
Комментариев:
Написано: 2676


Универсальный парсер контента

Вторник, 22 Июля 2008 г. 20:00 + в цитатник
Контент нужен всем вебмастерам, но по настоящему уникальный контент создавать тяжело и накладно, поэтому постоянно идёт работа над различными уникализаторами контента чужого. Допустим у нас есть прилично работающий синонимайзер, но откуда брать контент, которые ему поставляется на вход? Придётся либо снова искать какие-то малоизвестные источники, где контент хорошо структурирован, либо попытаться написать универсальный парсер, который бы мог обрабатывать любые страницы, извлекая из них тексты. После многих экспериментов, я сделал себе такой парсер, который если и не может извлечь статью из абсолютно любой страницы, то по крайней мере может это сделать с большинством страниц, то есть если скормить ему выдачу гугла по нужному кею, то скажем из 10 результатов на выходе получится 3-5 статей. Принцип работы такого парсера состоит в сравнении содержимого div’ов, из которых выбирается div с самым длинным содержимым, не содержащим других вложенных div’ов. Дополнительно надо очищать текст от форм, списков и ссылок, иначе очень часто самым длинным дивом будет какой-нибудь календарь, список ссылок или меню. Для большего охвата, можно пытаться в дополнение к дивам, обрабатывать по тому же принципу ячейки таблиц и другие хтмл элементы, куда может быть засунута статья.
Отдельная задача - поиск правильного заголовка статьи. Заголовок может содержаться либо в теге title, либо в каком-либо из тегов H1-H2. В целом, определить правильный заголовок статьи может быть сложнее чем собственно вытащить её текст. Тут можно сделать так: скачать кроме страницы со статьёй, ещё какую-нибудь страницу с того же сайте и посмотреть чем различаются эти страницы, и попытаться принять решение на основе разницы между страницами.

 

Добавить комментарий:
Текст комментария: смайлики

Проверка орфографии: (найти ошибки)

Прикрепить картинку:

 Переводить URL в ссылку
 Подписаться на комментарии
 Подписать картинку