crawlbaseDocs
Anmelden
Was die Listenseite nicht preisgibt

Kaggle beschriftet die Ergebnisgesamtzahl nur als Results (100+), daher wird totalCountLabel wortgetreu als String zurückgegeben statt in eine Zahl umgewandelt. Zeilen mit mehr als einem Autor rendern gestapelte Avatare ohne Bild-URL im Dokument, daher ist author.image in diesen Zeilen leer. Ein Notebook, das mehreren Wettbewerben zugeordnet ist, zeigt den ersten plus ein +2-Badge - die weiteren Namen stehen nicht in der Seite, daher kann nur additionalContextCount gemeldet werden.

API-Nutzung

Fügen Sie &scraper=kaggle-notebook-serp zu einem Crawling API-Request hinzu. URL-kodieren Sie die Ziel-URL im url-Parameter.

curl 'https://api.crawlbase.com/?token=YOUR_TOKEN' \
  --data-urlencode 'url=https://www.kaggle.com/code?searchQuery=titanic' \
  --data-urlencode 'scraper=kaggle-notebook-serp' -G
from 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)

Beispiel-Eingabe-URL

Im url-Parameter funktioniert jede Kaggle-Notebook-Such- oder Listenseite - die Seite unter /code, mit oder ohne Query-String. Zum Beispiel:

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=2

Response-Struktur

JSON-Response-Body. Feldtypen können null sein, wenn die Quellseite den Wert nicht enthält.

url
string
URL der gescrapten Suchseite.
query
string | null
Suchbegriff, gelesen aus der Request-URL. Kaggle lässt das gerenderte Suchfeld auf dieser Seite leer, daher ist die URL die einzige Quelle.
totalCountLabel
string | null
Ergebnisgesamtzahl genau so, wie Kaggle sie beschriftet, zum Beispiel 100+. Wird als String zurückgegeben, weil die Seite keine exakte Zahl angibt.
page
integer | null
Aktuelle Seitenzahl, oder null, wenn sie nicht bestimmt werden kann.
hasNextPage
boolean
Ob eine weitere Ergebnisseite verfügbar ist.
resultCount
integer
Anzahl der auf dieser Seite zurückgegebenen Zeilen.
results
array
Notebook-Zeilen in der Reihenfolge, in der sie auf der Seite erscheinen.
results[].position
integer
Bei 1 beginnender Rang der Zeile innerhalb dieser Seite.
results[].title
string | null
Anzeigetitel des Notebooks.
results[].url
string | null
Absolute URL des Notebooks.
results[].slug
string | null
Notebook-Kennung in der Form author/notebook, gelesen aus dem URL-Pfad.
results[].author
object
Account, dem das Notebook gehört.
results[].author.username
string | null
Handle des Eigentümers, entnommen dem ersten Pfadsegment der Notebook-URL, damit es auch bei Zeilen mit Co-Autoren aufgelöst wird.
results[].author.name
string | null
Anzeigename des Eigentümers.
results[].author.url
string | null
Absolute URL des Eigentümerprofils.
results[].author.image
string | null
Avatar-URL des Eigentümers. Leer bei Zeilen mit Co-Autoren, wo Kaggle gestapelte Avatare ohne URL im Dokument rendert.
results[].coauthors
array
Anzeigenamen der zusätzlichen Autoren, als Array von Strings. Leer bei Notebooks mit nur einem Autor.
results[].lastUpdated
string | null
Absoluter Zeitstempel der letzten Aktualisierung des Notebooks. Die Karte zeigt nur ein relatives Alter, daher wird der Wert aus dem dahinterliegenden Tooltip übernommen und behält die Kaggle-Formatierung statt ISO 8601 bei.
results[].commentCount
integer | null
Anzahl der Kommentare zum Notebook.
results[].context
string | null
Name des Wettbewerbs oder Datensatzes, dem das Notebook zugeordnet ist.
results[].additionalContextCount
integer
Wie vielen weiteren Wettbewerben oder Datensätzen das Notebook über context hinaus zugeordnet ist. Ihre Namen stehen nicht in der Seite, daher ist nur die Anzahl verfügbar.
results[].votes
integer | null
Anzahl der Upvotes für das Notebook.
results[].medal
string | null
Kaggle-Medaille für das Notebook (zum Beispiel gold), oder null, wenn die Zeile keine trägt.

Beispiel-Response

{
  "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"
    }
  ]
}