Инструменты для веб-мастеров Api, более 1000 ошибок сканирования

1

Я использую новые инструменты для веб-мастеров api, чтобы получить все ошибки обхода моего сайта (+ подробности). Unfort. это только дает мне 1000, но у меня есть как 10000. Есть ли способ получить все из них?

Это код, который я использую:

package main;

import com.google.api.client.googleapis.auth.oauth2.GoogleAuthorizationCodeFlow;
import com.google.api.client.googleapis.auth.oauth2.GoogleCredential;
import com.google.api.client.googleapis.auth.oauth2.GoogleTokenResponse;
import com.google.api.client.http.HttpTransport;
import com.google.api.client.http.javanet.NetHttpTransport;
import com.google.api.client.json.JsonFactory;
import com.google.api.client.json.jackson2.JacksonFactory;

import com.google.api.services.webmasters.Webmasters;
import com.google.api.services.webmasters.Webmasters.Urlcrawlerrorssamples;
import com.google.api.services.webmasters.model.SitesListResponse;
import com.google.api.services.webmasters.model.UrlCrawlErrorsSample;
import com.google.api.services.webmasters.model.UrlCrawlErrorsSamplesListResponse;
import com.google.api.services.webmasters.model.WmxSite;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.Arrays;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;


public class WebmastersCommandLine {

  private static String CLIENT_ID = "...";
  private static String CLIENT_SECRET = "...";

  private static String REDIRECT_URI = "urn:ietf:wg:oauth:2.0:oob";

  private static String OAUTH_SCOPE = "https://www.googleapis.com/auth/webmasters.readonly";

  private static String PAGE_URL = "...";

  public static void main(String[] args) throws IOException {
    HttpTransport httpTransport = new NetHttpTransport();
    JsonFactory jsonFactory = new JacksonFactory();

    GoogleAuthorizationCodeFlow flow = new GoogleAuthorizationCodeFlow.Builder(
        httpTransport, jsonFactory, CLIENT_ID, CLIENT_SECRET, Arrays.asList(OAUTH_SCOPE))
        .setAccessType("online")
        .setApprovalPrompt("auto").build();

    String url = flow.newAuthorizationUrl().setRedirectUri(REDIRECT_URI).build();
    System.out.println("open URL:");
    System.out.println("  " + url);
    System.out.println("code:");
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    String code = br.readLine();

    GoogleTokenResponse response = flow.newTokenRequest(code).setRedirectUri(REDIRECT_URI).execute();
    GoogleCredential credential = new GoogleCredential().setFromTokenResponse(response);

    // Create a new authorized API client
    Webmasters service = new Webmasters.Builder(httpTransport, jsonFactory, credential)
        .setApplicationName("WebmastersCommandLine")
        .build();

    Webmasters.Urlcrawlerrorssamples.List req2 = service.urlcrawlerrorssamples().list(PAGE_URL, "notFound", "web");

    try
    {
        UrlCrawlErrorsSamplesListResponse urlList = req2.execute();

        System.out.println("start");

        for(UrlCrawlErrorsSample sample : urlList.getUrlCrawlErrorSample())
        {
            Webmasters.Urlcrawlerrorssamples.Get req3 = service.urlcrawlerrorssamples().get(PAGE_URL, sample.getPageUrl(), "notFound", "web");
            UrlCrawlErrorsSample details = req3.execute();

            System.out.println(sample.getPageUrl() + "," + details.getUrlDetails().getLinkedFromUrls());
        }

    }
    catch(IOException e)
    {
        System.out.println("An error occurred: " + e);
    }

    System.out.println("done");
  }

}

Однако это дает мне список из 1000 ошибок, но мне нужно все 10000 из них. Кто-нибудь знает, как это сделать?

Теги:
google-webmaster-tools

1 ответ

1
Лучший ответ

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

Порядок образцов такой же, как в пользовательском интерфейсе, поэтому более важные из них будут первыми, которые вы видите. Это означает, что при движении вы уменьшаете отдачу, а более поздние ошибки сканирования похожи либо на предыдущие, либо, по крайней мере, считаются менее критичными. В исходном сообщении блога больше указано приоритет:

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню