Как получить страницу HTML, которая была просканирована с использованием кэша? - PullRequest
2 голосов
/ 12 ноября 2011

Я использую nutch1.3 для сканирования какой-либо веб-страницы и solr для создания каждого индекса. Выполняя простой поиск по http://localhost:8983/solr/,, он возвращает результат с различными документами, каждый документ имеет несколько полей, я думаю, это ключ к решению моей проблемы:

content: возвращает весь текст, отсканированный с исходной HTML-страницы, но, к сожалению, без исходных HTML-тегов: (

сегмент: возвращает основной сегмент, в который были извлечены данные.

digest: я думаю, что это поле является индексом Solr для этой страницы, потому что оно уникально и сгенерировано Solr.

Основной вопрос : как мне получить исходную HTML-страницу, используя уже кэшированный файл? Я думаю, что есть способ использовать комбинацию полей «сегмент» и «дайджест» для извлечения кэшированной HTML-страницы, но действую, мне не повезло, чтобы узнать, как это сделать.

ps1: мне это нужно, потому что я делаю поиск в автономном режиме на основе просканированных html-страниц и мне нужно показать «кэшированное представление», как это делает Google.

ps2: В Nutch 1.2 я смог это сделать, используя «nutch-1.2.war» для поиска по термину, и есть кнопка «cached», которая показывает страницу (http://localhost:8080/nutch-1.2/cached.jsp?idx=0&id=5) с кэшированной страницей.

1 Ответ

1 голос
/ 08 мая 2012

Вы можете получить необработанный HTML из индексных файлов Nutch:

bin/nutch readseg -dump crawl-test/segments/.. dump -nogenerate 
-noparse -noparsedata -noparsetext

или на Java:

Configuration conf = NutchConfiguration.create(); 
SegmentReader reader = new SegmentReader(conf, true, false, false, 
false, false, false);  
reader.get(); 

Также эта ссылка также будет очень полезна. Надо сказать, что я работал не с Solr, а только с Nutch, надеюсь, это поможет.

...