Skip to content

Интерфейс командной строки

Anna Sakoyan edited this page Nov 26, 2018 · 16 revisions

Установка

Для использования скрипта через командную строку необходимо, чтобы в системе был установлен Python 3.

  • Скачать или клонировать репозиторий https://github.com/ansakoy/cs_downloader
  • (В случае скачивания разархивировать его)
  • В командной строке перейти в папку cs_downloader (или в случае скачивания cs_downloader-master - в ту, где находится файл setup.py)
  • Запустить установку python setup.py install

Краткая справка по командам: python csdcmd.py -h

  -h, --help       Вызов краткой справки
  -q , --query     Полный путь к файлу CSV, содержащему параметры запроса
  -s , --span      Число дней в подпериодах, на которые нужно раздробить
                   период (по умолчанию 30)
  -n , --name      Название файла, в котором нужно сохранить данные, например,
                   "contracts_spb"
  -d, --demo       Запустить скрипт в режиме ДЕМО
  -c, --contracts  Извлечь данные в режиме "1 строка = 1 контракт"
  -p, --products   Извлечь данные в режиме "1 строка = 1 продукт"
  -x, --xlsxout    Сохранить данные в файле XLSX (по умолчанию - CSV)
  -j, --jsonout    Сохранить данные в файле JSON (по умолчанию - CSV)

Что делать, если командная строка в Windows не отображает кириллицу.

Параметры операции в интерфейсе командной строки

Режимы

  • Демо -d
  • Обычный [по умолчанию]

Задачи

  • Извлечь информацию о запросе [по умолчанию]
  • Выгружать данные по контрактам [-c]
  • Выгружать данные по продуктам [-p]

Форматы выгрузки

  • CSV [по умолчанию]
  • XLSX [-x]
  • JSON [-j]

Установка длины подпериода

-s [целое число]

Указать источник файла с параметрами

-q [Полный путь к файлу с параметрами]

По умолчанию ищет файл с названием params.csv в папке params. Этот файл присутствует в папке с момента установки и заполнен произвольными значениями, которые можно изменять в соответствии с потребностями. Или можно указать альтернативный путь к альтернативному файлу с параметрами, но он тоже должен быть заполнен по шаблону.

Передаваемые параметры должны быть заполнены в соответствии с шаблоном.

Указать название файла, в котором будут сохранены выгруженные данные

-n [название файла]

По умолчанию сохраняет в файл с названием contractsDDMMYYY_DD1MM1YYYY1 (где DDMMYYY_DD1MM1YYYY1 - это начало и конец временного диапазона выборки).

Примеры команд

csdcmd.py -d

Запустить скрипт в демо-режиме (с параметрами, заданными по умолчанию), выдать информацию о запросе. Возможный ответ:

Параметры запроса:
customerregion: 77
daterange: 08.02.2018-10.03.2018
fz: 44
Найдено контрактов по запросу: 12887
За один запуск скрипта возможна выгрузка не более 5000 контрактов.
Ожидаемое время выгрузки: около 5 минут(ы)
Время работы скрипта: 0:00:07

csdcmd.py -c -d -x

Выгрузить данные по запросу по умолчанию (демо-режим)[-d] в формате XLSX [-x] в режиме одна строка — один контракт [-c]. Возможный ответ:

Параметры запроса:
customerregion: 77
daterange: 08.02.2018-10.03.2018
fz: 44
Путь к сохраненному файлу: C:\...\cs_downloader\data\contracts_08022018-10032018.xlsx
Готово.
Время работы скрипта: 0:12:43

(Все файлы сохраняются в папку cs_downloader/data)

csdcmd.py

Получить информацию по запросу с параметрами, указанными в файле, находящемся по адресу cs_downloader\params\params.csv. Возможный ответ:

Параметры запроса:
customerregion: 77
currentstage: E
pricerange: 0.0-1000.0
fz: 44
daterange по умолчанию: 08.02.2018-10.03.2018
Найдено контрактов по запросу: 127
За один запуск скрипта возможна выгрузка не более 5000 контрактов.
Ожидаемое время выгрузки: около 0 минут(ы)
Время работы скрипта: 0:00:15

csdcmd.py -q C:\...\params_test_alt.csv

Получить информацию по запросу с параметрами, указанными в файле, который находится не в папке params или называется не params.csv. Возможный ответ:

Параметры запроса:
productsearch: электроэнерг
customerregion: 77
daterange: 01.01.2018-31.01.2018
fz: 44
Найдено контрактов по запросу: 500
За один запуск скрипта возможна выгрузка не более 5000 контрактов.
Ожидаемое время выгрузки: около 0 минут(ы)
        По этому запросу установлено искусственное ограничение на выдачу
 - не более 500 контрактов. Мы попытались раздробить запрос на части,
разбив заданный временной диапазон на периоды по 30 дней.
Но для некоторых периодов число контрактов в выдаче все равно достигало 500.
Чтобы обогнуть ограничение, вы можете указать более короткий период дробления
по временному диапазону или использовать дополнительные параметры фильтрации
(например, по региону заказчика или по ценовому диапазону).
Время работы скрипта: 0:00:02

csdcmd.py -q C:\...\params_test_alt.csv -s 15

Получить информацию по запросу с параметрами, указанными в файле, который находится не в папке params или называется не params.csv. Возможный ответ:

Параметры запроса:
productsearch: электроэнерг
customerregion: 77
daterange: 01.01.2018-31.01.2018
fz: 44
Найдено контрактов по запросу: 969
За один запуск скрипта возможна выгрузка не более 5000 контрактов.
Ожидаемое время выгрузки: около 1 минут(ы)
Время работы скрипта: 0:00:06