Я пытаюсь использовать два цикла for для извлечения всех данных из запроса API, где цикл 1) запрашивает данные из API день ото дня - в то время как вложенный в него - цикл 2) просматривает каждую страницу в списке URL, по которым я хочу получить данные.
Проблема, с которой я сталкиваюсь, заключается в том, что все циклы будут проходить нормально, просто она будет возвращать данные только для последнего списка в массиве URL.
pages = read_page_paths_from_file(PAGE_FILTERS, PROPERTY_URI) # stores in a list
start_date = datetime.strptime(START_DATE, "%Y-%m-%d")
end_date = datetime.strptime(END_DATE, "%Y-%m-%d")
output_rows = []
for day in date_range(start_date, end_date, delta=timedelta(days=1)):
day = day.strftime("%Y-%m-%d")
for i in range(len(pages)):
request = {
'startDate': day,
'endDate': day,
'dimensions': ['date','query','page'],
'rowLimit': 1000,
'dimensionFilterGroups' : [
{
"filters": [
{
"dimension": "page",
"expression": pages[i]
}
]
}
]
}
response = execute_request(webmaster_service, PROPERTY_URI, request)
time.sleep(1)
if response is None:
logging.error("Request failed %s", json.dumps(request, indent=2))
continue
for row in response['rows']:
keys = ','.join(row['keys'])
date, query, page = keys.split(",")
output_row = [date, query, page, row['clicks'], row['impressions'], row['ctr'], row['position']]
output_rows.append(output_row)
Мне бы хотелось получить данные для каждого URL-адреса в списке, а также данные для этого URL-адреса для каждого дня в диапазоне дат.
Однако вместо этого я получаю данные за все 7 дней, но только по последнему URL в списке.