Kaggle Dataset Search
Разбирайте страницу поиска или списка датасетов Kaggle в структурированный JSON с одной строкой на датасет, включая владельца, размер, оценку удобства использования, число загрузок и количество ноутбуков.
Использование API
Добавьте &scraper=kaggle-dataset-serp к запросу Crawling API. URL-кодируйте целевой URL в параметре url.
curl 'https://api.crawlbase.com/?token=YOUR_TOKEN' \
--data-urlencode 'url=https://www.kaggle.com/datasets?search=heart+disease' \
--data-urlencode 'scraper=kaggle-dataset-serp' -Gfrom crawlbase import CrawlingAPI
api = CrawlingAPI({'token': 'YOUR_TOKEN'})
res = api.get(
'https://www.kaggle.com/datasets?search=heart+disease',
{'scraper': 'kaggle-dataset-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/datasets?search=heart+disease',
{ scraper: 'kaggle-dataset-serp' }
);
const data = JSON.parse(res.body);require 'crawlbase'
api = Crawlbase::API.new(token: 'YOUR_TOKEN')
res = api.get('https://www.kaggle.com/datasets?search=heart+disease', scraper: 'kaggle-dataset-serp')
data = JSON.parse(res.body)Пример входного URL
В параметре url работает любая страница поиска или списка датасетов Kaggle - страница по адресу /datasets, со строкой запроса или без неё. Например:
https://www.kaggle.com/datasets?search=heart+disease
https://www.kaggle.com/datasets?search=nlp&fileType=csv
https://www.kaggle.com/datasets
https://www.kaggle.com/datasets?search=weather&page=2Структура ответа
Тело ответа в формате JSON. Типы полей могут быть null, если исходная страница не содержит значения.
URL страницы поиска, которая была обработана.
Поисковый запрос, который фактически выполнил Kaggle; считывается из отрендеренного поля поиска, с откатом на URL запроса.
Общее количество датасетов, соответствующих поиску, по всем страницам, или null, если страница не указывает итог.
Номер текущей страницы, или null, если его не удалось определить.
Доступна ли следующая страница результатов.
Количество строк, возвращённых на этой странице.
Строки датасетов в том порядке, в каком они идут на странице.
Позиция строки на этой странице, начиная с единицы.
Отображаемый заголовок датасета.
Абсолютный URL страницы датасета.
Идентификатор датасета в виде
owner/dataset, прочитанный из пути URL.Аккаунт, публикующий датасет.
Отображаемое имя владельца.
Абсолютный URL профиля владельца.
URL изображения карточки датасета. Kaggle отдаёт его как CSS-фон, а не как тег изображения, поэтому он считывается из инлайн-стиля.
Абсолютная временная метка последнего обновления датасета. Карточка показывает только относительный возраст, поэтому значение берётся из всплывающей подсказки за ней и сохраняет форматирование Kaggle, а не ISO 8601.
Оценка удобства использования датасета по версии Kaggle, от 0 до 10.
Количество файлов в датасете.
Метка формата файлов, показанная на карточке (например,
CSV).Общий размер датасета в том виде, как он отображается, вместе с единицами измерения (например,
6 kB). Kaggle не раскрывает точное количество байт в режиме списка.Количество загрузок. Kaggle сокращает на карточках числа больше тысячи (например,
362K); значение разворачивается обратно в точное целое число и равно null, если карточка не показывает эту цифру.Количество публичных ноутбуков, построенных на датасете; разворачивается из той же сокращённой формы, что и
downloads.Количество апвоутов датасета.
Медаль Kaggle у датасета (например,
bronze), или null, если у строки её нет.Пример ответа
{
"url": "https://www.kaggle.com/datasets?search=heart+disease",
"query": "heart disease",
"totalCount": 1628,
"page": 1,
"hasNextPage": true,
"resultCount": 20,
"results": [
{
"position": 1,
"title": "Heart Disease Dataset",
"url": "https://www.kaggle.com/datasets/johnsmith88/heart-disease-dataset",
"slug": "johnsmith88/heart-disease-dataset",
"owner": {
"name": "David Lapp",
"url": "https://www.kaggle.com/johnsmith88"
},
"thumbnail": "https://storage.googleapis.com/kaggle-datasets-images/216167/469115/23af5a37ef4e938b2c9a1b97662c3efc/dataset-thumbnail.jpg?t=2019-06-04-03-29-56",
"lastUpdated": "Thu Jun 06 2019 17:33:55 GMT+0200 (Central European Summer Time)",
"usabilityRating": 8.8,
"fileCount": 1,
"fileFormat": "CSV",
"size": "6 kB",
"downloads": 362000,
"notebookCount": 984,
"votes": 1859,
"medal": "gold"
},
{
"position": 2,
"title": "Heart Disease",
"url": "https://www.kaggle.com/datasets/oktayrdeki/heart-disease",
"slug": "oktayrdeki/heart-disease",
"owner": {
"name": "Oktay Ördekçi",
"url": "https://www.kaggle.com/oktayrdeki"
},
"thumbnail": "https://storage.googleapis.com/kaggle-datasets-images/6393782/10326308/95bfd024a1dc7d059e7b6f3632ed37c9/dataset-thumbnail.png?t=2024-12-29-13-32-57",
"lastUpdated": "Sun Dec 29 2024 14:26:49 GMT+0100 (Central European Standard Time)",
"usabilityRating": 10,
"fileCount": 1,
"fileFormat": "CSV",
"size": "582 kB",
"downloads": 22700,
"notebookCount": 48,
"votes": 179,
"medal": "bronze"
}
]
}