Это побочный проект, которым я занимаюсь, поскольку я пытаюсь изучить Python.
Я пытаюсь написать сценарий python, который будет перебирать диапазон дат и использовать каждую дату, которая возвращается в URL-адресе запроса GET.
URL-адрес использует параметр LastModified и ограничивает запросы GET 24-часовым периодом, поэтому я хотел бы запускать запрос GET для каждого дня с даты начала.
Ниже представлено то, что у меня есть сейчас , основная проблема, с которой я сталкиваюсь, заключается в том, как разделить возвращаемые даты таким образом, чтобы я мог использовать каждую дату отдельно для GET, GET также нужно будет зациклить, чтобы использовать каждую дату, я полагаю.
Любые указатель в правильном направлении будет полезен, так как я пытаюсь узнать как можно больше.
start_date = datetime.date(2020, 1, 1)
end_date = datetime.date.today()
delta = datetime.timedelta(days=1)
while start_date <= end_date:
last_mod = start_date + delta
print(last_mod)
start_date += delta
import requests
from requests.auth import HTTPBasicAuth
vend_key = 'REDACTED'
user_key = 'REDACTED'
metrc_license = 'A12-0000015-LIC'
base_url = 'https://sandbox-api-ca.metrc.com'
last_mod_date = ''
a = HTTPBasicAuth(vend_key, user_key)
def get(path):
url = '{}/{}/?licenseNumber={}&lastModifiedStart={}'.format(base_url, path, metrc_license, last_mod_date, )
print('URL:', url)
r = requests.get(url, auth=a)
print("The server response is: ", r.status_code)
if r.status_code == 200:
return r.json()
# Would like an elif that is r.status_code is 500 wait _ seconds and try again
elif r.status_code == 500:
print("500 error, try again.")
else:
print("Error")
print((get('/packages/v1/active')))
Вот пример возврата из текущего скрипта, мне не нужно, чтобы он возвращал каждую дату, поэтому я могу удалить печать, но как я могу сделать каждый l oop с даты его собственная переменная для использования в al oop GET?
2020-01-02
2020-01-03
2020-01-04
2020-01-05
2020-01-06
etc...
etc...
etc...
2020-05-24
2020-05-25
2020-05-26
2020-05-27
URL: https://sandbox-api-ca.metrc.com//packages/v1/active/?licenseNumber=A12-0000015-LIC&lastModifiedStart=2020-05-27
The server response is: 200
[]