Обновите Nutch для получения родительского элемента каждого URL-адреса.

Когда я запускаю сканер Apache Nutch 1.4, я хочу сохранить дополнительную информацию. Я хочу хранить родителя каждого URL.

Например, я хочу сканировать страницу a.html, которая имеет 2 ссылки на b.html и c.html. Поэтому, когда я сканирую a.html, я должен получить что-то вроде этого:

a.html null
b.html a.html
c.html a.html

Я хочу хранить что-то вроде этого. Я прочитал, как работает Nutch, а также запустил Nutch в затмении. Я также прочитал fetcher.java и зарегистрировался, где он получил контент. Но мне не удалось узнать, где Nutch выбирает дочерние URL данной страницы. Я думаю, что этот шаг имеет место после шага разбора.

1 ответ

Я думаю, что информация может быть получена путем генерации linkdb.

База данных ссылок, или linkdb: содержит список известных ссылок на каждый URL, включая исходный URL и текст привязки ссылки. Он поддерживает карту перевернутых ссылок, перечисляя входящие ссылки для каждого URL.

bin/nutch invertlinks crawldb/linkdb -dir crawldb/segments

На этапе синтаксического анализа Nutch генерирует исходящие ссылки из содержимого для обхода, а затем вновь обнаруженные URL-адреса сохраняются в crawldb на этапе обновления. Новые URL-адреса выбираются в следующем цикле / раунде сканирования.

Другие вопросы по тегам