как ограничить глубину ползания в штормкраулере - PullRequest
0 голосов
/ 20 июня 2020

Мой вариант использования - извлекать текст с любой страницы веб-сайта и из исходящих ссылок (которые присутствуют только на этой странице) только ежедневно. например, я хочу просканировать все ссылки (https://www.indiatimes.com/news/world), присутствующие на этой странице. это дает мне несколько бесплатных sh новостных статей каждый день. на этой странице каждый день есть около 30-40 ссылок на новостные статьи, которые я хочу сканировать и хранить в своей базе данных.

это некоторые настройки, которые у меня есть на данный момент -

вот часть of crawler-conf.yaml -

  parser.emitOutlinks: true
  perser.emitOutlinks.max.per.page: 0
  track.anchors: true
  metadata.track.path: true
  metadata.track.depth: true

вот часть urlfilters. json -

 {
         "class":  "com.digitalpebble.stormcrawler.filtering.depth.MaxDepthFilter",
          "name": "MaxDepthFilter",
           "params": {
             "maxDepth": 0
                   }
 }

в этих конфигурациях эта, например, страница дает более 35000 обращений. он сканирует весь сайт, который мне не нужен. он получает все больше и больше URL-адресов из исходящих ссылок. если я изменю параметр maxdepth на 1, 0 или 2, поведение сканирования останется прежним. подходит ли параметр maxdepth для этого варианта использования? Я хочу ограничить этот рекурсивный характер сканирования только исходным URL-адресом и исходящими ссылками исходного URL-адреса. что на самом деле означает параметр maxdepth? что мне делать, чтобы ограничить расширение сканирования.

я использую stromcrawler 1.16.

1 Ответ

0 голосов
/ 22 июня 2020

именно для этого нужен фильтр максимальной глубины. помните, что вам нужно перестроить свой JAR с помощью mvn clean package , чтобы любые изменения в urlfilters вступили в силу. json, чтобы вступили в силу.

, если вы не хотите исходящих ссылок при синтаксическом анализе страницы, просто установите для parser.emitOutlinks значение false в конфигурации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...