- vừa được xem lúc

Truy Cập Kaggle Public API với REST

0 0 17

Người đăng: Thao Nguyen Phuong

Theo Viblo Asia

1 Giới thiệu

Kaggle, thuộc Google, là một cộng đồng dành cho Data Scientist và Machine Learning. Kaggle cho phép người dùng tìm và công bố các dataset, tìm và xây dững những mô hình, tham gia vào các cuộc thi dành cho Data Scientist/Machine Learning,...

Tài liệu API của Kaggle chính thức là một Python CLI. Tuy Python CLI cũng có tính hữu dụng của nó, nhưng đôi khi mình muốn làm một Crawler, thì REST API sẽ hữu dụng hơn. Và có rất ít tài liệu chính thức hướng dẫn với Public Kaggle API. Nên đây là hướng dẫn truy cập Kaggle Public API với REST.

2 Tạo API Key

Để sử dụng Public API Kaggle, bạn cần tạo một API key token, vào đường dẫn Account của bạn, kéo xuống phần API và nhấn vào nút Create New API Token. Khi đó, một file kaggle.json được tải xuống và sẽ chứa thông tin username và key của bạn.

3 Tương tác với các API

Rất may mắn, đội ngũ Kaggle đã tạo sẵn một file yaml swagger nên chúng ta không phải mò những đường dẫn URL.

  1. Truy cập vào đây để có file yaml swagger.
  2. Sử dụng một trình Swagger UI bất kì, ở đây mình sử dụng luôn trang web https://editor.swagger.io/
  3. Import file yaml trên vào Swagger Editor.
  4. Các bạn có thể thấy các endpoint với thông tin query được hiện lên.

  1. Kaggle sử dụng hệ thống Ủy quyền cơ bản, bạn chỉ cần nhập username và API key vào hai trường tương ứng là username và password. Còn khi code REST request, sẽ cần mã hóa cả hai thông tin này bằng mã hóa gốc 64 với format {username}:{api key} sẽ ra được header token.

  1. Khi bạn code Crawler, thông thường điều bạn quan tâm sẽ là Dataset. Base API URL của Kaggle là: https://www.kaggle.com/api/v1/. Để tìm kiếm các dataset có tổng cộng 11 parameter, từ những từ khóa tìm kiếm đến phân trang,... Với method là GET, URL là https://www.kaggle.com/api/v1/datasets/list. Dưới đây là ví dụ mình tìm tất cả các dataset không dùng tham số nào cả.

  1. Danh sách các miêu tả về API của kaggle đối với từng đối tượng:
  • Competitions : Liệt kê các cuộc thi, Truy vấn các file trong cuộc thi, Download các file trong cuộc thi, Nộp bài cho cuộc thi, Liệt kê các bài nộp trong cuộc thi, Nhận bảng xếp hạng trong cuộc thi.
  • Datasets: Liệt kê dataset, Liệt kê tệp cho dataset, Tải xuống file dataset, Khởi tạo file metadata để tạo dataset, Tạo dataset mới, Tạo phiên bản dataset mới, Tải xuống metadata cho dataset hiện có, Nhận trạng thái tạo dataset
  • Kernels: Liệt kê các kernal, Khởi tạo metadata cho một kernel, Đẩy lên một kernel, Kéo xuống một kernel, Truy xuất đầu ra của kernel, Nhận trạng thái của lần chạy kernel mới nhất

Bình luận

Bài viết tương tự

- vừa được xem lúc

Sử dụng Swagger để xây dựng API documentation

Giới thiệu về Swagger. RESTful API là một tiêu chuẩn dùng trong việc thiết kế API cho các ứng dụng web (thiết kế Web services) để tiện cho việc quản lý các resource.

0 0 1k

- vừa được xem lúc

Viết document cho API dễ dàng với Swagger.

APIs(Application Programming Interfaces) đang ngày càng trở nên phổ biến, các dịch vụ trên Internet hầu hết đều sử dụng chuẩn RESTfull APIs để cung cấp cho các đối tác 1 phần tài nguyên của mình sử dụng. Vậy ta đặt ra câu hỏi là làm sao để cho các đối tác biết mình được cung cấp những tài nguyên gì?

0 0 189

- vừa được xem lúc

Tìm hiểu về API Document

Nhân tiện dự án mình đang phát triển API, ngoài coding ra cũng đang support Khách hàng phần tạo tài liệu, hôm nay mình mạo muội tìm hiểu một ít khái niệm về API, API document, Swagger, Basic Structure

0 0 50

- vừa được xem lúc

Tự động hóa tạo tài liệu API sử dụng Java Springdoc và Swagger UI

1. Giới thiệu:.

0 0 37

- vừa được xem lúc

Tìm hiểu về Swagger để viết API

1. OpenAPI là gì. OpenAPI Specification là một định dạng mô tả API dành cho REST APIs. Một file OpenAPI cho phép bạn mô tả toàn bộ API bao gồm cả.

0 0 28

- vừa được xem lúc

Triển khai API Gateway trong .NET Core với Ocelot - Quản lý API Gateway với Swagger

Trước đây, để quản lý các API, ta có công cụ là Swagger, tuy nhiên đối với API Gateway như Ocelot thì sao. a. Install package MMLib.SwaggerForOcelot.

0 0 34