<jupyter_start><jupyter_text>СправкаAPI Cross Web осуществляет расчет данных проекта Cross Web (измерение аудитории в интернете).Обращаться к API Cross Web будем с помощью Jupyter Notebook, для этого необходимо владеть некоторыми терминами. Ниже описаны основные из них. usetype - тип пользования интернетомВозможные варианты:- 1 - Web Desktop- 2 - Web Mobile- 3 - App Mobile Типы расчетов Audience - расчет объема аудитории интернет-проектовНа текущий момент доступны следующие статистики:- adr - Average Daily Reach- adrPer - Average Daily Reach %- affinity- affinityInternet- affinityAdr- affinityAdrInternet- averageAge - Average Age- dr - Days Reached- drfd - Days Reached Frequency Distribution- frequency- ots- reach- reachN - Reach N+ Distribution- reachPer - Reach %- uni - Universe- att - Attention- adatt -  Average Daily Attention- addPerU - Average Daily Duration на пользователей- addPerP  - Average Daily Duration на население  Библиотека Mediascope APIБиблиотека Mediascope содержит набор классов и методов, которые позволяют упростить работу с API.Импортируйте библиотеку Mediascope API<jupyter_code>%reload_ext autoreload
%autoreload 2

import sys
import os
import re
import json
import datetime
import time
import pandas as pd
from pathlib import Path
from IPython.display import JSON

from mediascope_api.core import net as msnet
from mediascope_api.crossweb import catalogs as cwc
from mediascope_api.crossweb import tasks as cwt<jupyter_output><empty_output><jupyter_text>Создайте объекты для работы с API<jupyter_code>mtask = cwt.CrossWebTask()<jupyter_output><empty_output><jupyter_text>Работа с Mediascope Jupyter NotebookВ работе с Mediascope Jupyter Notebook можно выделить два основных действия:- расчет заданий (создание задания, расчет, получение результата);- работа со справочниками.  Расчет заданийСтандартный сценарий работы с заданиями:- инициализация - импорт библиотеки и создание объектов для работы с API Cross Web;- формирование задания;- отправление задания на расчет и ожидание результата;- получение результата и его преобразование в pandas.DataFrame;- при необходимости сохранение результата в Excel.При формировании задания можно указать параметры, приведенные ниже. - **filters** - фильтры нескольких типов:    - **date_filter** - фильтр по периодам    - **usetype_filter** - фильтр по типам пользования интернетом    - **geo_filter** - фильтр по географии    - **demo_filter** - фильтр по соц.-дему    - **mart_filter** - фильтр по медиа-объектам- **slices** - срезы- **statistics** - статистики- **scales** - шкалы, если заданы статистики со шкалами (drfd, reachN)Из перечисленных параметров обязательными являются:- **date_filter** - фильтр по периоду- **statistics** - статистики- **scales** - шкалы, если заданы статистики со шкалами (drfd, reachN)Без их указания рассчитать задание невозможно.Для расчета заданий существуют методы в модуле mediascope_api.crossweb.tasks: - **build_audience_task** - формирует задание: принимает указанные параметры, проверяет их и создает JSON для API Cross Web;- **send_audience_task** - отправляет задание на расчет;- **wait_task** - ожидает расчет;- **get_result** - получает результат;- **result2table** - преобразует результат из JSON в pandas.DataFrame.**При формировании задания необходимо корректно задавать атрибуты для параметров.** Для получения списка допустимых атрибутов воспользуйтесь методом `get_media_unit()` модуля `mediascope_api.crossweb.catalogs`.Создавать выражения для фильтров **geo_filter**, **demo_filter** и **mart_filter** можно с помощью следующих операторов:    = (равно)    != (не равно)    > (больше)    < (меньше)    >= (больше или равно)     <= (меньше или равно)    AND (И)    OR (ИЛИ)    IN() (вхождение в список значений)    NIN() (невхождение в список значений)  Вывод справкиВсе методы библиотеки Mediascope имеют справку.Для вывода справки нужно нажать комбинацию клавиш __Shift+Tab__```mtask.build_task(```или воспользоваться командой __help__<jupyter_code>help(mtask.build_task)<jupyter_output>Help on method build_task in module mediascope_api.crossweb.tasks:

build_task(task_type, task_name='', date_filter=None, usetype_filter=None, geo_filter=None, demo_filter=None, mart_filter=None, slices=None, statistics=None, scales=None) method of mediascope_api.crossweb.tasks.CrossWebTask instance
    Формирует текст задания для расчета статистик
    
    Parameters
    ----------
    
    task_type : str
        Тип задания, возможные варианты:
        - media
    
    task_name : str
        Название задания, если не задано - формируется как: пользователь + типа задания + дата/время
    
    date_filter : list
        Список периодов, период задается списком пар - (начало, конец):
        Пример:
            date_filter = [
                           ('2021-07-05', '2021-07-18'),
                           ('2021-09-06', '2021-09-26'),
                           ('2021-10-18', '2021-10-31')
                          ]
    
    usetype_filter: list|None
        Список Типов пользова[...]
{'fraction_non_alphanumeric': 0.08235528148000795, 'fraction_numerical': 0.01054306743584643, 'mean_word_length': 4.146366427840327, 'pattern_counts': {'":': 0, '<': 14, '<?xml version=': 0, '>': 14, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '3', 'dir': 'jupyter-structured-clean-dedup', 'id': '63535', 'license': 'BSD-3-Clause', 'n_tokens_mistral': 1840, 'n_tokens_neox': 2047, 'n_words': 496, 'path': 'crossweb/help.ipynb', 'repo_name': 'MEDIASCOPE-JSC/mediascope-jupyter', 'size': '5027'}