Skip to content

Documentation — web_crawler.py

revoltMoon edited this page Nov 14, 2018 · 5 revisions

web_crawler.py

class DataType(Enum)

  • Описывает типы данных.

class DataSourceType(Enum)

  • Описывает типы источников данных.

class DataSource()

  • Абстрактное представление источников данных.
  • Для использования необходим наследник.

get_data

  • Получение данных по данному id документа и типу данных.
  • Метод должен быть перегружен.

Объявление

  • def get_data(self, dataId: str, dataType: DataType)

Параметры

  1. self — представление класса;
  2. dataId — id документа;
  3. dataType — тип данных, поддерживается только DataType.DOCUMENT_HEADER ,DataType.DOCUMENT_TEXT.

Возвращает

text — текст из файла, либо None, если тип данных не поддерживается.

get_all_data

  • Получение словаря из данных с заданным типом.
  • Метод должен быть перегружен.

Объявление

  • def get_all_data(self, dataType: DataType)

Параметры

  1. self — представление класса;
  2. dataType — тип данных, поддерживается только DataType.DOCUMENT_HEADER, DataType.DOCUMENT_TEXT.

Возвращает

  1. headers — JSON заголовков файлов, если dataType = DataType.DOCUMENT_HEADER, либо словарь {dataId: self.get_data(dataId, DataType.DOCUMENT_TEXT) for dataId in self._decition_urls}, если dataType == DataType.DOCUMENT_TEXT.

prepare

  • Попытка подготовить источник данных для работы.
  • Метод должен быть перегружен.

Объявление

  • def prepare(self)

Параметры

  1. self — представление класса.

Возвращает

  1. False, если подготовка не удалась, True, если все в порядке.

class WebCrawler

  • WebCrawler — обертка вокруг множества источников данных, он работает только для управления источником данных.
  • Для запроса каких-либо данных используйте типы DataSource.

get_data_source

  • Получение данных по заданному имени файла.

Объявление

  • def get_data_source(self, name: str)

Параметры

  1. self — представление класса.
  2. name — имя файла.

Возвращает

Данные, если есть файл с заданным именем, иначе None.

init

  • Попытка инициализировать все существующие источники данных и выбрать available_source источники, которые подготовлены к работе.

_prepare_source

  • Подготавливаем источник данных.

Объявление

  • def _prepare_source(self, dataSource: str, databaseSource: str)

Параметры

  1. self — представление класса.
  2. dataSource — источник данных.
  3. databaseSource — источник базы данных.

prepare_sources

  • Подготавливаем источник данных.

Объявление

  • def prepare_sources(self, sourcesNameList: dict, databaseSource: str)

Параметры

  1. self — представление класса.
  2. sourcesNameList — словарь с именами источников данных, по умолчанию None.
  3. databaseSource — источник базы данных, по умолчанию None.