GitHub Repository
Analysez une page de dépôt GitHub unique en JSON structuré avec les étoiles, forks, watchers, langages, sujets, licence, issues et PRs ouvertes, branche par défaut et dernière version.
Utilisation de l'API
Ajoutez &scraper=github-repository à une requête Crawling API. Encodez en URL l'URL cible dans le paramètre url.
curl 'https://api.crawlbase.com/?token=YOUR_TOKEN' \
--data-urlencode 'url=https://github.com/rails/rails' \
--data-urlencode 'scraper=github-repository' -Gfrom crawlbase import CrawlingAPI
api = CrawlingAPI({'token': 'YOUR_TOKEN'})
res = api.get(
'https://github.com/rails/rails',
{'scraper': 'github-repository'}
)
import json
data = json.loads(res['body'])const { CrawlingAPI } = require('crawlbase');
const api = new CrawlingAPI({ token: 'YOUR_TOKEN' });
const res = await api.get(
'https://github.com/rails/rails',
{ scraper: 'github-repository' }
);
const data = JSON.parse(res.body);require 'crawlbase'
api = Crawlbase::API.new(token: 'YOUR_TOKEN')
res = api.get('https://github.com/rails/rails', scraper: 'github-repository')
data = JSON.parse(res.body)Exemple d'URL en entrée
L'URL passée dans le paramètre url (décodée pour plus de lisibilité) :
https://github.com/rails/railsStructure de la réponse
Corps de la réponse JSON. Les types de champs peuvent être null lorsque la page source omet la valeur.
Nom du dépôt.
Identifiant du propriétaire (utilisateur ou organisation).
Identifiant complet
owner/name.URL canonique du dépôt.
Description du dépôt (l'accroche sous l'en-tête).
Langage de programmation principal (première entrée de
languages).Langages listés dans la barre de langages du dépôt.
Nombre d'étoiles.
Nombre de forks.
Nombre de watchers.
True si l'onglet Issues est activé.
Nombre d'issues ouvertes.
Nombre de pull requests ouvertes.
Étiquettes de sujets du dépôt.
Nom de la licence affichée dans la barre latérale.
Nom de la branche par défaut.
Tag de la dernière version, lorsque le dépôt a des versions.
True si un README rendu est présent.
True si le dépôt est archivé (en lecture seule).
Exemple de réponse
{
"name": "rails",
"owner": "rails",
"fullName": "rails/rails",
"url": "https://github.com/rails/rails",
"description": "Ruby on Rails",
"primaryLanguage": "Ruby",
"languages": ["Ruby", "JavaScript", "HTML", "SCSS", "CSS", "Dockerfile"],
"stars": 58789,
"forks": 22414,
"watchers": 2400,
"hasIssues": true,
"openIssuesCount": 478,
"openPrsCount": 1081,
"topics": ["ruby", "rails", "html", "activerecord", "framework", "mvc", "activejob"],
"license": "MIT license",
"defaultBranch": "main",
"latestRelease": "v8.1.3",
"readmePresent": true,
"archived": false
}