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