Архив: Парсер реферальной статистики с сайта binance

Бюджет 250$ / 15001
руб
в месяц
Создан: 6 лет назад
Закрыт
Описание
Требуется написать парсер реф. статистики с сайта (указан в прикрепленном файле из-за запрета публиковать в тексте задания ссылки).
Вход в аккаунт осуществляется вручную (автоматизировать НЕ нужно). Готов подставлять в парсер куки и csrf токен вручную, если вы скажете где мне брать эти данные после успешного входа в аккаунт.

Операционная система windows.
Суть парсера :загрузка реферальной статистики короткими промежутками и объединение их в один общий текстовый csv файл. Т.к. binance некорректно отрабатывает запросы на длинные интервалы.  
   
На каждый запрос бинанс дает в ответ файл (все три файла приложены): пустой с заголовком 33байта, до 60кб (до 1000 строк) и огромные файлы больше 1000мб с ошибочно продублированными сделками. большие файлы приходят не сразу а через время до 10 минут. пока большой файл не скачается, все остальные запросы заканчиваются пустыми только с заголовками (33байта) файлами, даже если запрос корректный.но абсолютно каждый запрос каким то файлом заканчивается. вопрос только во времени его скачки. после запроса бинанс отрабатывает его у себя на серверах, а потом дает браузеру файл на скачку.

   Минимальное разрешенное binance время между запросами 30 секунд. если делаешь запросы чаще, возвращает пустой файл с заголовком . если возвращает на запрос файл с одной строчкой (только заголовок), то нужно повторить тот же запрос (с тем же интервалом), но через 30 секунд . если возвращает файл в котором больше 1000 строк, нужно сократить интервал в два раза и сделать новый запрос через 30 секунд. если придет снова файл больше 1000 строк, еще уменьшить интервал в два раза и повторить запрос через 30 секунд. если пришел ответ, в котором больше 1 но меньше 1000 строк, записать их в общий файл, увеличить интервал в два раза, прибавить к последнему времени +1 секунду и сделать новый запрос через 30 секунд. максимальная длина одного запроса задается в секундах. запросы между собой не должны пересекаться (59 секунда в конце каждого интервала и 00 секунда в начале каждого интервала. каждый запрос заканчивается скачкой какого-то файла. пока файл не скачан, новый запрос не отправлять.

пример: 
время 00:00:00 запрос 1 интервал с  с 19.08.01  с  00:00:00 по 00:29:59 – пришел ответ в 750 строк. записали его в общий файл (без заголовка, т.е. начиная со 2 строки). 
время 00:00:32 запрос 2 с 19.08.01 с 00:30:00 по 00:59:59 – через 4 минуты пришел ответ в 10 000 строк. этот ответ игнорируем, файл удаляем и уменьшаем интервал в два раза. 
время 00:05:00 запрос 3 с 19.08.01 с 00:30:00 по 00:45:59 – через 2 минуты пришел ответ в 5400 строк, этот ответ игнорируем и уменьшаем интервал в два раза 
время 00:08:00 запрос4 19.08.01 с 00:30:00 по 00:37:29 – пришел ответ в 430 строк, записали его в общий файл. увеличили след. интервал в два раза. 
время 00:08:33 запрос 5 с 00:37:30 по 00:51:59 – пришел ответ в 800 строк . записали в общий файл. увеличили интервал до начальных 30 минут. 
время 00:09:15 запрос 6 с 00:52:00 по 01:21:59 – пришел ответ в 1 строку (заголовок) , повторяем тот же запрос через 31 секунду. 
время 00:09:46 запрос 7 с 00:52:00 по 01:21:59- пришел ответ в 790 строк, записываем их в файл. 
настраиваемые в программе параметры:  
дата и время старта YYYY-MM-DD HH:MM:SS  
дата и время окончания YYYY-MM-DD HH:MM:SS  
задержка между запросами N секунд (по умолчанию 30)
базовый (максимальный) интервал в запросе S секунд ( по умолчанию 1800) 
минимальный интервал в запросе T секунд (по умолчанию 1)
минимальное кол-во строк в успешном ответе (в т.ч. вместе с заголовком), K (по умолчанию 2) 
максимально допустимое кол-во строк в ответе( в т.ч. вместе с заголовком) , чтобы считать его успешным  P ( по умолчанию 1000) 
Кол-во повторов циклов M ( я делаю двойной/тройной запуск. нужны два/три итоговых результата, это  позволяет понять что выгрузка корректная, в том случае если все результаты одинаковые в  количестве строк или в размере файла в кб.)
исключить интервал1  
дата и время старта исключения  YYYY-MM-DD HH:MM:SS   
дата и время окончания исключения  YYYY-MM-DD HH:MM:SS  если поле пустое, игнорировать. 

Если пять раз подряд получен пустой файл, то время между запросами увеличивать в 2 раза, до тех пор пока не будет получен успешный ответ.
Для тестирования предусмотрите логирование, для выявления багов. Первую и основную версию программы вы сможете протестировать на своем аккаунте. (на любой запрос на вашем аккаунте без рефералов вы будете получать пустой файл). вторую и последующие версии программы буду тестировать я на своем аккаунте с предоставлением подробного отчета вам. Я на связи ежедневно. Свой аккаунт для теста я вам НЕ предоставлю. Разница между моим и вашим аккаунтом: на каждый запрос я получаю 3 вида файлов. вы будете получать только один. которые отличаются только количеством строк. Все остальное одинаково.

Работа только через безопасную сделку. Срок 7 дней. Сумма указана конечная (на руки вы получите на 13% меньше).
Категория

Похожие проекты

safe 
0 3
Необходимо разработать систему, которая: Подключается к API Diagnocat и iDent (через токены доступа). Получает данные о пациенте, результатах диагностики, снимках и назначениях. Автоматически формирует структурированный отчет по шаблону (включая врачей, этапы лечения, стоимость и описание процедур).......
 
0 0
Необходимо связать БД 1C:ERP с БД Outlook, MS Access, Битрикс24. Например при вводе нового сотрудника в 1С:ERP он должен автоматически появляться в вышеперечисленных БД....
2 месяца назад
 
0 1
Требуется реализация отчёта на кастомизированной 1С:УПП 1. 2, ТЗ и контрольный пример во вложении, 80% кода должно быть покрыто модульными тестами....
2 месяца назад
$7
0 2
Мне нужно копировать мой текст и вставлять в одну группу ВК с открытой стеной для публикации рекламы. Задача скрипта/сервиса/программы - примерно каждые 10 секунд брать мой текст и вставлять в эту группу. Я пробовал через одну программу, которая записывает действия мышки и потом повторяет, но она как-то......
4 месяца назад
safe 
0 0
Написать прошивку для A94B114, используя 2 подобные рабочие прошивки. Все файлы есть....
$21
0 2
Нужно разархивировать файл архив. ujems, есть распаковщик, но выдает ошибку. Прислать пруфы(скрины)....
7 месяцев назад
safe 
0 1
Входные: Имеется скрипт по обработке email писем и добавление их в систему Redmine   Проблема: Система обработки этих писем написана некорректная и негибкая    Задача: Переписать логику обработки входящих писем, чтобы исключить их потерю при незначительных отклонениях от ожидаемой структуры....
$37
0 1
- В обязанности сотрудника входит поддержание мобильного приложения системы автоматизации бизнеса. - Работа сдельная: задачи выдаются на оценку, далее после согласования передаются на реализацию. - Заключаем договор и NDA (соглашение о неразглашении)....
$71
0 0
Информация о проекте: Проект включает в себя React Native приложение с Expo внутри которого находится webview с сайтом На устройствах с ОС IOS проблема с воспроизведением видео....
7 месяцев назад
safe 
0 0
Разрабатываю десктопные программы на языке Java,  а так же Java + SQL....
 
0 6
  1. Чтобы можно было писать описание события (без заголовка) - превью в списке берется N количества букв с начала. (в списке писать дату события и сколько осталось до него) . Выставление даты и времени напоминания и ИНТЕРВАЛА ПОВТОРА ОТ 1 МИНУТЫ! Выставлять количество повторов, далее напоминания прекращаются.......
safe 
0 4
Сайт arg2028t. beget. tech/. Нужно сделать вот такой калькулятор. airprint. by/outdoor/wide-format. и еще некоторые доработки....
safe 
0 7
Краткое описание: Мы ищем исполнителя для тестирования функционала мобильного приложения на платформе Android. Задача включает проверку основных функций приложения, таких как работа комнаты, передача видео, звука и чата, а также создание подробной отчетности о найденных ошибках.   Требования к исполнителю:......
safe 
0 12
Разработка чат-бота под ваши нужды....
$143
0 0
Oпpocы (1008pyб/чaс) Заходитe на сaйт: gonsù....
10 месяцев назад
 
0 4
Требуется создать скрипт для premiere pro. Данная суть скрипта: в выделеном бине нужно что бы автоматически проставлялся in out ровно по серидине файла так что бы выделенная область была длиной 3 секунды. И требуется кнопка что бы работало через окно expressions. Проблема текущего в том что он не работает......
 
0 2
Нужно создать приложения под гемблинг/беттинг, на котлин. Приложение должно работать Firebase. Детали вышлю при обсуждение....
$21
0 4
Нужно разархивировать файл archive. ujems, есть распаковщик, но выдает ошибку. Прислать пруфы  ....
1 год назад
safe 
0 3
Разработать впн сервис ( Приложения на ios и android + сайт для оплаты подписки). Настройка Серверов. Оплата по договоренности. Работаем черед безопасную сделку....
1 год назад
Смотреть все