Только для циклического вывода данных API для последнего элемента в списке - PullRequest
0 голосов
/ 05 января 2019

Я пытаюсь использовать два цикла 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 в списке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...