Заказ закрыт
Парсер финансовых показателей (Python)

Бюджет: 7 000
83.24 $ – 72.63 €
Заказчик выбрал исполнителя:
Евгений Королёв  
1. Входные данные и БД.
1.1. На вход подаётся таблица `company` содержащая ID компаний. Эта же таблица содержит текстовое название компании, которое можно получить отравив запрос вида companycheck.co.uk/compan...
1.2. БД содержит таблицу `company_data`, которая будет содержать ID компании, год и полный набор всех полей (например, Accounts_Cash, Accounts_NetWorth, ProfitLoss_Weeks).
2. Парсер имён компаний. Разработать скрипт, который будет обходить все записи таблицы `company` и заполнять имя компании и проставлять дату последнего обновления.
2.1. Парсер будет работать запусками через crontab, в каждый запуск будет обрабатывать NAME_UPDATE_COUNT записей в порядке обратной сортировки по дате добавления.
2.2. Парсер будет логировать ошибки (не получен корректный ответ сервера, не найден нужный элемент DOM-дерева или HTTP Header).
2.3. Парсер будет работать в один поток, без прокси.
3. Парсер данных о компаниях. Разработать скрипт, который будет для каждой компании получать все не полученные ранее данные с вкладки Accounts по годам.
3.1. Парсер будет работать запусками через crontab, в каждый запуск будет обрабатывать DATA_SCRAP_COUNT записей в порядке обратной сортировки по дате добавления.
3.2. Парсер будет логировать ошибки (не получен корректный ответ сервера, не найден нужный элемент DOM-дерева или HTTP Header).
3.3. Парсер будет работать в один поток, без прокси.
4. Технологии.
4.1. crontab.
4.2. Python + BeautifulSoap.
4.3. PostgreSQL.
5. Уточнения.
5.1. Конфигурационный файл содержит константы, управляющие количеством обрабатываемых на запуск задач, параметры для доступа к БД и названия таблиц и их структура.
5.2. Скрипт автоматически создаёт таблицу, если она не существует и создаёт индексы, если они не существуют.
5.3. Нормализация.
5.3.1. Числовые поля нормализуем в числовой тип данных.
5.3.2. Текстовые поля нормализуем в органично (булевы поля в булев формат, простой текст – текстовое поле, Currency и Auditors – в связанные таблицы).
5.4. Парсинг данных будет осуществляться не по таблице с компаниями, а по таблице с задачами: задача заносится вручную в БД и помечается как выполненая после выполнения.
5.5. В таблицах содержащих данные о компаниях и задачи нужно отмечать дату и время обновления данных и выполнения задачи соответственно.
Опубликован 23.10.2015 в 16:35
Заказ находится в архиве

Выберите способ верификации:

Обновите страницу после прохождения верификации.