Написать скрипт на python для парсинга URL и работы с полученным json
500 руб. за проект
Необходим скрипт на Python который должен получать данные из URL и обрабатывать их.
Формат получаемых данных имеет следующий вид:
{"status": "success",
"data": [
{
"amount": "3000.000","lastDelegationDate": "2023-07-27T11:31:06.000Z",
"lastDelegationTransactionId": "3f792bec3e61869133fba51a4229798ce1f99854",
"player": "thaddius",
"isFromRental": true
},
{
"amount": "16000.000","lastDelegationDate": "2023-07-26T16:41:48.000Z",
"lastDelegationTransactionId": "7967d01f592ca3323bcf4f575cfd2e7e5d8a4dd5",
"player": "kirou",
"isFromRental": true
},
{
"amount": "18000.000","lastDelegationDate": "2023-07-26T15:35:30.000Z",
"lastDelegationTransactionId": "c15c6b8a292c23e87b9179c4693470e3aa28d5d9",
"player": "dlacerda7",
"isFromRental": true
},
{
"amount": "19000.000",
"lastDelegationDate": "2023-07-26T15:32:51.000Z",
"lastDelegationTransactionId": "0134f2e77a53efbc8d74cbe0ee21280deacbc95f",
"player": "yurishin",
"isFromRental": true
}
]
}
isFromRental — может быть как true, так и false. Для дальнейшей работы необходимы только записи с "isFromRental": true
1. Переменная где задается частота обращения к URL (url_exp) (по умолчанию 1 день, при этом скрипт выполняется 1 раз в 5 минут)
2. Полученные данные сохранять в файл в формате json (17_sps_check.json). Файл 17_sps_check.json необходим для избежания блокировок к URL и для минимизации трафика.
Предполагаемая логика работы скрипта.
- при запуске, считываем данные из 17_sps_check.json
- если нет ограничения (url_exp), то считываем данные из URL
- сравниваем данные из URL и данные в нашем 17_sps_check.json;
- если есть новые данные в URL, то добавляем их в 17_sps_check.json (по идее его можно полностью переписывать);
Проходимся по всем записям полученным из 17_sps_check.json и сравниваем с текущей датой и временем.
Если с момента lastDelegationDate прошло 7 дней и 5 минут то выводим в консоль «для «player» время закончилось».
Если еще не прошло 7 дней и 5 минут, то в консоль выводим «у «player» еще осталось хх дней, yy часов, тт минут».
Если в процессе запуска скрипта был хоть один вывод «для «player» время закончилось», то делаем паузу в 30 сек. И в принудительном порядке считываем данные из URL и записываем их в файл 17_sps_check.json.
Формат получаемых данных имеет следующий вид:
{"status": "success",
"data": [
{
"amount": "3000.000","lastDelegationDate": "2023-07-27T11:31:06.000Z",
"lastDelegationTransactionId": "3f792bec3e61869133fba51a4229798ce1f99854",
"player": "thaddius",
"isFromRental": true
},
{
"amount": "16000.000","lastDelegationDate": "2023-07-26T16:41:48.000Z",
"lastDelegationTransactionId": "7967d01f592ca3323bcf4f575cfd2e7e5d8a4dd5",
"player": "kirou",
"isFromRental": true
},
{
"amount": "18000.000","lastDelegationDate": "2023-07-26T15:35:30.000Z",
"lastDelegationTransactionId": "c15c6b8a292c23e87b9179c4693470e3aa28d5d9",
"player": "dlacerda7",
"isFromRental": true
},
{
"amount": "19000.000",
"lastDelegationDate": "2023-07-26T15:32:51.000Z",
"lastDelegationTransactionId": "0134f2e77a53efbc8d74cbe0ee21280deacbc95f",
"player": "yurishin",
"isFromRental": true
}
]
}
isFromRental — может быть как true, так и false. Для дальнейшей работы необходимы только записи с "isFromRental": true
1. Переменная где задается частота обращения к URL (url_exp) (по умолчанию 1 день, при этом скрипт выполняется 1 раз в 5 минут)
2. Полученные данные сохранять в файл в формате json (17_sps_check.json). Файл 17_sps_check.json необходим для избежания блокировок к URL и для минимизации трафика.
Предполагаемая логика работы скрипта.
- при запуске, считываем данные из 17_sps_check.json
- если нет ограничения (url_exp), то считываем данные из URL
- сравниваем данные из URL и данные в нашем 17_sps_check.json;
- если есть новые данные в URL, то добавляем их в 17_sps_check.json (по идее его можно полностью переписывать);
Проходимся по всем записям полученным из 17_sps_check.json и сравниваем с текущей датой и временем.
Если с момента lastDelegationDate прошло 7 дней и 5 минут то выводим в консоль «для «player» время закончилось».
Если еще не прошло 7 дней и 5 минут, то в консоль выводим «у «player» еще осталось хх дней, yy часов, тт минут».
Если в процессе запуска скрипта был хоть один вывод «для «player» время закончилось», то делаем паузу в 30 сек. И в принудительном порядке считываем данные из URL и записываем их в файл 17_sps_check.json.
Отзывы
В заказе есть исполнитель
При переводе заказа из архивного в актуальный, текущий исполнитель будет снят с задачи.
Выберите тип сделки
С безопасной сделкой вы всегда сможете вернуть средства, если что-то пойдет не так. С простой сделкой вы самостоятельно договариваетесь с исполнителем об оплате и берете на себя решение конфликтов.