API инструментов Bing для веб-мастеров с Python - как указать дату извлечения и индекс нумерации страниц?

Чтобы помочь одному из наших клиентов, я создал скрипт для извлечения статистики поисковых запросов из Bing Webmaster Tools API с использованием Python следующим образом:

      rq = requests.get(u"https://ssl.bing.com/webmaster/api.svc/json/GetQueryStats?apikey=%s&siteUrl=%s" % (bwt_api_key, bwt_site_url))

if rq.status_code == 200:
    rs = json.loads(rq.text)

    if "d" in rs.keys():
        z = []

        for ri in rs["d"]:
            z.append([
                datetime.fromtimestamp(int(re.search("/Date\\((.*)\\)/", ri["Date"]).group(1)) // 1000).strftime("%Y-%m-%d"),
                ri["Query"],
                ri["AvgClickPosition"] / 10,
                ri["AvgImpressionPosition"] / 10,
                ri["Clicks"],
                ri["Impressions"]
            ])

Помимо соглашений и стандартов именования (я знаю, что есть много возможностей для улучшения, но это быстрый пример), я передаю ключ API как bwt_api_key и URL-адрес сайта в bwt_site_url, и он работает. Все идет нормально.

Проблема в том, что я не нашел никаких следов дополнительных параметров для этого метода API ( GetQueryStats ), кроме siteUrl, и, чтобы иметь возможность загружать исторические данные, мне нужно передать какую-то дату, и пока мне не повезло.

Я хотел бы знать, можно ли указать для этого метода даты начала и окончания или, по крайней мере, одну дату для фильтрации результатов по дате. Еще одна вещь, которая меня беспокоит, - это то, что у меня нет (по-видимому) способа разбивать большие результаты на страницы (если это применимо).

Прямо сейчас у меня есть только один день данных (я активировал Bing Webmaster Tools для блога, который у нас есть в прошлую пятницу, поэтому, если он работает так же, как Google Search Console, данные не будут объединены до 48 часов спустя, поэтому запрос для него с запасом в 3 дня кажется правильным), но я получаю только 100 строк данных, и я не знаю, просто ли это потому, что трафик для нашего тестового сайта (блога) был низким, или это просто какое-то ограничение API. Я немного запуталась, если честно ...

В конце концов, то, что я хочу сделать, - это то же самое извлечение, которое я выполняю для Google Search Console: производительность поискового запроса с URL, запросом, кликами и показами. Мне показалось, что GetQueryStats - правильный метод, но я могу ошибаться. Не могли бы вы мне помочь?

0 ответов

Другие вопросы по тегам