Обработка перенаправлений в 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