Обработка перенаправлений в Storm-Crawler

С SC, я должен быть в состоянии следовать перенаправлениям, не испуская исходящие ссылки? Должен ли перенаправленный URL быть вставлен в мой бэкэнд как "ОТКРЫТЫЙ" или нет? Кажется, не из моих небольших экспериментов со следующей настройкой:

crawler.yaml:        redirections.allowed: true
                     parser.emitOutlinks: false
urlfilters.json:     "maxDepth": 2

Наконец, когда страница рассматривается как перенаправляющая на другую страницу, пройдёт ли она остальную часть топологии для этой страницы (я имею в виду то, что ведет за сборщиком) или нет?

1 ответ

Решение

Исходящие ссылки и перенаправления обрабатываются отдельно, см. JSoupParserBolt.java # L341. Большинство перенаправлений происходит в FetcherBolt, где конфигурация emitoulinks не применяется в любом случае.

Цель перенаправления будет иметь статус ОТКРЫТЫЙ, если она уже не существует с другим статусом.

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

Наконец, когда страница рассматривается как перенаправляющая на другую, пройдёт ли она остальную часть топологии для этой страницы (я имею в виду то, что находится за сборщиком) или нет?

Нет, см. FetcherBolt

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