Kaggle Notebook Search
Analysez une page de recherche ou de liste de notebooks Kaggle en JSON structuré avec une ligne par notebook, incluant l'auteur, les co-auteurs, le contexte de compétition, les votes et le nombre de commentaires.
Kaggle n'indique le total des résultats que sous la forme Results (100+), si bien que totalCountLabel est renvoyé tel quel sous forme de chaîne plutôt que converti en nombre. Les lignes comportant plusieurs auteurs affichent des avatars empilés sans URL d'image dans le document, de sorte que author.image est vide sur ces lignes. Un notebook rattaché à plusieurs compétitions affiche la première plus un badge +2 - les noms supplémentaires ne figurent pas dans la page, seul additionalContextCount peut donc être rapporté.
Utilisation de l'API
Ajoutez &scraper=kaggle-notebook-serp à 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://www.kaggle.com/code?searchQuery=titanic' \
--data-urlencode 'scraper=kaggle-notebook-serp' -Gfrom crawlbase import CrawlingAPI
api = CrawlingAPI({'token': 'YOUR_TOKEN'})
res = api.get(
'https://www.kaggle.com/code?searchQuery=titanic',
{'scraper': 'kaggle-notebook-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://www.kaggle.com/code?searchQuery=titanic',
{ scraper: 'kaggle-notebook-serp' }
);
const data = JSON.parse(res.body);require 'crawlbase'
api = Crawlbase::API.new(token: 'YOUR_TOKEN')
res = api.get('https://www.kaggle.com/code?searchQuery=titanic', scraper: 'kaggle-notebook-serp')
data = JSON.parse(res.body)Exemple d'URL en entrée
N'importe quelle page de recherche ou de liste de notebooks Kaggle fonctionne dans le paramètre url - la page située à /code, avec ou sans chaîne de requête. Par exemple :
https://www.kaggle.com/code?searchQuery=titanic
https://www.kaggle.com/code?searchQuery=xgboost&language=Python
https://www.kaggle.com/code
https://www.kaggle.com/code?searchQuery=nlp&page=2Structure de la réponse
Corps de la réponse JSON. Les types de champs peuvent être null lorsque la page source omet la valeur.
100+. Renvoyé sous forme de chaîne car la page n'indique pas de nombre exact.author/notebook, lu depuis le chemin de l'URL.context. Leurs noms ne figurent pas dans la page, seul le compte est donc disponible.gold), ou null lorsque la ligne n'en porte aucune.Exemple de réponse
{
"url": "https://www.kaggle.com/code?searchQuery=titanic",
"query": "titanic",
"totalCountLabel": "100+",
"page": 1,
"hasNextPage": true,
"resultCount": 20,
"results": [
{
"position": 1,
"title": "Titanic Tutorial",
"url": "https://www.kaggle.com/code/alexisbcook/titanic-tutorial",
"slug": "alexisbcook/titanic-tutorial",
"author": {
"username": "alexisbcook",
"name": "Alexis Cook",
"url": "https://www.kaggle.com/alexisbcook",
"image": "https://storage.googleapis.com/kaggle-avatars/thumbnails/2603295-kg.jpg"
},
"coauthors": [],
"lastUpdated": "Fri Jun 24 2022 00:25:16 GMT+0000 (Coordinated Universal Time)",
"commentCount": 30626,
"context": "Titanic - Machine Learning from Disaster",
"additionalContextCount": 0,
"votes": 60135,
"medal": "gold"
},
{
"position": 3,
"title": "Spaceship Titanic with TFDF",
"url": "https://www.kaggle.com/code/gusthema/spaceship-titanic-with-tfdf",
"slug": "gusthema/spaceship-titanic-with-tfdf",
"author": {
"username": "gusthema",
"name": "Gusthema",
"url": "https://www.kaggle.com/gusthema",
"image": ""
},
"coauthors": [
"Nidhin PD"
],
"lastUpdated": "Mon Apr 17 2023 09:36:29 GMT+0000 (Coordinated Universal Time)",
"commentCount": 378,
"context": "Spaceship Titanic",
"additionalContextCount": 0,
"votes": 7863,
"medal": "gold"
},
{
"position": 10,
"title": "Titanic Top Solution",
"url": "https://www.kaggle.com/code/brendan45774/titanic-top-solution",
"slug": "brendan45774/titanic-top-solution",
"author": {
"username": "brendan45774",
"name": "Brenda N",
"url": "https://www.kaggle.com/brendan45774",
"image": "https://storage.googleapis.com/kaggle-avatars/thumbnails/2681031-kg.jpg"
},
"coauthors": [],
"lastUpdated": "Wed Sep 01 2021 16:03:11 GMT+0000 (Coordinated Universal Time)",
"commentCount": 249,
"context": "Titanic - Machine Learning from Disaster",
"additionalContextCount": 2,
"votes": 2294,
"medal": "gold"
}
]
}