Se connecter

Utilisation de l'API

Ajoutez &scraper=github-serp à une requête Crawling API. Encodez en URL l'URL cible dans le paramètre url. Une requête renvoie une page ; suivez pagination.next_page_url pour continuer, jusqu'à la limite de 1000 résultats de GitHub.

curl 'https://api.crawlbase.com/?token=YOUR_TOKEN' \
  --data-urlencode 'url=https://github.com/search?q=web+scraping&type=repositories' \
  --data-urlencode 'scraper=github-serp' -G
from crawlbase import CrawlingAPI

api = CrawlingAPI({'token': 'YOUR_TOKEN'})
res = api.get(
    'https://github.com/search?q=web+scraping&type=repositories',
    {'scraper': 'github-serp'}
)

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/search?q=web+scraping&type=repositories',
  { scraper: 'github-serp' }
);
const data = JSON.parse(res.body);
require 'crawlbase'
api = Crawlbase::API.new(token: 'YOUR_TOKEN')

res = api.get('https://github.com/search?q=web+scraping&type=repositories', scraper: 'github-serp')
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/search?q=web+scraping&type=repositories

Structure de la réponse

Corps de la réponse JSON. Les types de champs peuvent être null lorsque la page source omet la valeur.

query
string | null
Requête de recherche ayant produit ces résultats.
searchType
string | null
Type de recherche, p. ex. repositories.
sort
string | null
Champ de tri, p. ex. stars. Absent lors du tri par meilleure correspondance.
order
string | null
Sens du tri, desc ou asc.
totalResults
integer | null
Nombre total de résultats signalé sur toutes les pages.
currentPage
integer
Numéro de la page actuelle.
pagination
object
Informations de pagination pour parcourir l'ensemble des résultats.
pagination.current_page
integer
Numéro de la page actuelle.
pagination.total_pages
integer | null
Numéro de page le plus élevé que GitHub expose pour cette requête.
pagination.next_page_url
string | null
URL absolue de la page suivante, ou null à la dernière page / limite de résultats.
pagination.previous_page_url
string | null
URL absolue de la page précédente, ou null sur la première page.
pagination.has_next
boolean
True tant qu'une page suivante existe sous la limite de 1000 résultats.
results
array
Résultats par dépôt (voir les champs ci-dessous).
results[].position
integer
Rang du résultat sur cette page (à partir de 1).
results[].name
string | null
Nom du dépôt.
results[].owner
string | null
Identifiant du propriétaire (utilisateur ou organisation).
results[].fullName
string
Identifiant complet owner/name.
results[].url
string
URL absolue du dépôt.
results[].description
string | null
Description du dépôt.
results[].primaryLanguage
string | null
Langage de programmation principal.
results[].stars
integer | null
Nombre d'étoiles.
results[].topics
array
Étiquettes de sujets affichées sur la carte de résultat.
results[].updatedAt
string | null
Horodatage de dernière mise à jour ou libellé relatif, lorsque présent.
results[].license
string | null
Licence affichée sur la carte de résultat, lorsque présente.
results[].archived
boolean
True si le dépôt est une archive publique.
results[].sponsorable
boolean
True si le propriétaire peut être sponsorisé.

Exemple de réponse

{
  "query": "web scraping",
  "searchType": "repositories",
  "sort": "stars",
  "order": "desc",
  "totalResults": 133816,
  "currentPage": 1,
  "pagination": {
    "current_page": 1,
    "total_pages": 100,
    "next_page_url": "https://github.com/search?q=web+scraping&type=repositories&s=stars&o=desc&p=2",
    "previous_page_url": null,
    "has_next": true
  },
  "results": [
    {
      "position": 1,
      "name": "scrapy",
      "owner": "scrapy",
      "fullName": "scrapy/scrapy",
      "url": "https://github.com/scrapy/scrapy",
      "description": "Scrapy, a fast high-level web crawling & scraping framework for Python.",
      "primaryLanguage": "Python",
      "stars": 63119,
      "topics": ["python", "crawler", "framework", "scraping", "crawling"],
      "updatedAt": null,
      "license": null,
      "archived": false,
      "sponsorable": false
    }
  ]
}