Какую последовательность действий выполняет crawler4j для получения данных? - PullRequest
0 голосов
/ 17 ноября 2018

Я хотел бы узнать,

  1. как работает crawler4j?
  2. Получает ли он веб-страницу, затем загружает ее содержимое и извлекает ее?
  3. А как насчет файлов .db и .cvs и его структур?

Вообще, какие последовательности это следует?

пожалуйста, я хочу описательный контент

Спасибо

1 Ответ

0 голосов
/ 07 декабря 2018

Процесс общего обходчика

Процесс для типичного многопоточного искателя выглядит следующим образом:

  1. У нас есть структура данных очереди, которая называется frontier,Недавно обнаруженные URL (или начальные точки, так называемые начальные значения) добавляются в эту структуру данных.Кроме того, для каждого URL-адреса присваивается уникальный идентификатор, чтобы определить, был ли ранее посещен данный URL-адрес.

  2. Потоки сканера получают URL-адреса из frontier и планируют их длядальнейшая обработка.

  3. Фактическая обработка начинается:

    • Значение robots.txt для данного URL-адреса определяется и анализируется в соответствии с критериями исключения и вежливым поисковым роботом (настраивается)
    • Далее поток проверяет вежливость, т.е. время ожидания, прежде чем снова посещать тот же хост URL.
    • Фактический URL просматривается сканером и загружается контент (это может быть буквально все)
    • Если у нас есть HTML-контент, этот контент анализируется, и потенциальные новые URL-адреса извлекаются и добавляютсядо границы (в crawler4j это можно контролировать с помощью shouldVisit(...)).
  4. Весь процесс повторяется до тех пор, пока к frontier не будут добавлены новые URL.

Общая (сфокусированная) архитектура искателя

Помимо деталей реализации crawler4j более или менее общая (сфокусированная) архитектура искателя (включеноодин сервер / ПК) выглядит следующим образом:

basic crawler architecture

Отказ от ответственности: Изображение - моя собственная работа.Пожалуйста, уважайте это, ссылаясь на этот пост.

...