Обновите 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-адреса выбираются в следующем цикле / раунде сканирования.