Categorías
Others

Obtenga la lista de todos los repositorios públicos de Github usando Java

Es posible que desee volcar todos los repositorios públicos de Github. Primero necesita obtener la lista de los nombres de los repositorios. El siguiente código puede hacer eso por usted.

Existe un límite de número de solicitudes de una máquina. Por lo tanto, es posible que desee crear un token primero, para aumentar el límite, de modo que pueda obtener la mayor cantidad posible.

import java.io.IOException;
import org.apache.http.HttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClientBuilder;
import org.apache.http.util.EntityUtils;
import com.google.gson.JsonArray;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
 
public class GitHubRepository {
 
	public static void main(String[] args) {
		for (int i = 0; i < 10000;) {
			getEach(i);
			i = i + 200;
		}
	}
 
	public static void getEach(int since) {
		String url = "https://api.github.com/repositories?since=" + since+"&access_token=you-own-token";
		//String url = "https://api.github.com/repositories?since=" + since;
		try {
			CloseableHttpClient httpClient = HttpClientBuilder.create().build();
			HttpGet request = new HttpGet(url);
			request.addHeader("content-type", "application/json");
			HttpResponse result = httpClient.execute(request);
			String json = EntityUtils.toString(result.getEntity(), "UTF-8");
 
			System.out.println(json);
 
			JsonElement jelement = new JsonParser().parse(json);
			JsonArray jarr = jelement.getAsJsonArray();
			for (int i = 0; i < jarr.size(); i++) {
				JsonObject jo = (JsonObject) jarr.get(i);
				String fullName = jo.get("full_name").toString();
				fullName = fullName.substring(1, fullName.length()-1);
				System.out.println(fullName);
			}
 
		} catch (IOException ex) {
			System.out.println(ex.getStackTrace());
		}
	}
}
  LeetCode - Super Pow (Java)

Los archivos jar necesarios incluyen lo siguiente:
httpclient-4.xxjar
httpcore-4.xxjar
gson-2.1.jar

Por Programación.Click

Más de 20 años programando en diferentes lenguajes de programación. Apasionado del code clean y el terminar lo que se empieza. ¿Programamos de verdad?

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *