crawlbaseDocs
Anmelden
Premium-Aufgaben liefern nur Metadaten

Eine Aufgabe mit isPremium auf true behält ihre Identitätsfelder - ID, Titel, Schwierigkeit, Themen-Tags -, aber die Aufgabenstellung und die Engagement-Zähler sind nicht Teil der Seite, daher kommen description, descriptionHtml und die Zahlen leer zurück.

API-Nutzung

Fügen Sie &scraper=leetcode-problem zu einem Crawling-API-Request hinzu. Kodieren Sie die Ziel-URL im Parameter url URL-encoded.

curl 'https://api.crawlbase.com/?token=YOUR_TOKEN' \
  --data-urlencode 'url=https://leetcode.com/problems/two-sum/' \
  --data-urlencode 'scraper=leetcode-problem' -G
from crawlbase import CrawlingAPI

api = CrawlingAPI({'token': 'YOUR_TOKEN'})
res = api.get(
    'https://leetcode.com/problems/two-sum/',
    {'scraper': 'leetcode-problem'}
)

import json
data = json.loads(res['body'])
const { CrawlingAPI } = require('crawlbase');
const api = new CrawlingAPI({ token: 'YOUR_TOKEN' });

const res = await api.get(
  'https://leetcode.com/problems/two-sum/',
  { scraper: 'leetcode-problem' }
);
const data = JSON.parse(res.body);
require 'crawlbase'
api = Crawlbase::API.new(token: 'YOUR_TOKEN')

res = api.get('https://leetcode.com/problems/two-sum/', scraper: 'leetcode-problem')
data = JSON.parse(res.body)

Beispiel-Eingabe-URL

Im Parameter url funktioniert jede LeetCode-Aufgabenseite - die Seite unter /problems/<slug>. Zum Beispiel:

https://leetcode.com/problems/two-sum/
https://leetcode.com/problems/add-two-numbers/
https://leetcode.com/problems/longest-substring-without-repeating-characters/

Response-Struktur

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

url
string
URL der gescrapten Aufgabenseite.
id
string | null
Aufgabennummer wie auf der Seite angezeigt, als String zurückgegeben.
internalId
string | null
Interne Fragen-ID von LeetCode. Meist gleich id, bei älteren Aufgaben weichen die beiden jedoch voneinander ab.
title
string | null
Angezeigter Aufgabentitel.
titleSlug
string | null
URL-Slug der Aufgabe.
difficulty
string | null
Schwierigkeitsangabe - Easy, Medium oder Hard.
category
string | null
Aufgabenkategorie, zum Beispiel Algorithms oder Database.
isPremium
boolean
Ob die Aufgabe ein LeetCode-Abonnement voraussetzt.
descriptionHtml
string | null
Aufgabenstellung als HTML, mit erhaltenem Original-Markup, damit Beispiele, Constraints und Inline-Code intakt bleiben.
description
string | null
Aufgabenstellung als reiner Text.
likes
integer | null
Anzahl der Upvotes auf die Aufgabe.
dislikes
integer | null
Anzahl der Downvotes auf die Aufgabe.
acceptedCount
integer | null
Anzahl der akzeptierten Einsendungen.
submissionCount
integer | null
Gesamtzahl der Einsendungen.
acceptanceRate
string | null
Erfolgsquote wie angezeigt, inklusive Prozentzeichen.
commentCount
integer | null
Anzahl der Kommentare in der Aufgabendiskussion.
topicTags
array
Algorithmus- und Datenstruktur-Tags der Aufgabe.
topicTags[].name
string | null
Angezeigter Tag-Name.
topicTags[].slug
string | null
URL-Slug des Tags.
hints
array
Mit der Aufgabe veröffentlichte Hinweise, als Array von Klartext-Strings.
exampleTestcases
array
Standard-Testfall-Eingaben, als Array von Strings. Jeder String behält die Zeilenumbrüche, die seine Argumente trennen.
codeSnippets
array
Starter-Code-Stubs, die LeetCode für die Aufgabe bereitstellt.
codeSnippets[].language
string | null
Angezeigter Sprachname, zum Beispiel Python3.
codeSnippets[].languageSlug
string | null
Sprach-Slug, zum Beispiel python3.
codeSnippets[].code
string | null
Der Stub selbst, mit seiner ursprünglichen Einrückung.
similarQuestions
array
Aufgaben, die LeetCode als verwandt verlinkt.
similarQuestions[].title
string | null
Titel der verwandten Aufgabe.
similarQuestions[].titleSlug
string | null
URL-Slug der verwandten Aufgabe.
similarQuestions[].url
string | null
Absolute URL der verwandten Aufgabe.
similarQuestions[].difficulty
string | null
Schwierigkeitsangabe der verwandten Aufgabe.
similarQuestions[].isPremium
boolean
Ob die verwandte Aufgabe ein Abonnement voraussetzt.
officialSolution
object
Status der eigenen Lösungsbeschreibung von LeetCode zu dieser Aufgabe.
officialSolution.available
boolean
Ob eine offizielle Lösung existiert.
officialSolution.isFree
boolean
Ob die offizielle Lösung ohne Abonnement lesbar ist.
officialSolution.hasVideo
boolean
Ob die offizielle Lösung eine Video-Erklärung enthält.
solutionsUrl
string | null
Absolute URL des Community-Lösungs-Tabs dieser Aufgabe.

Beispiel-Response

{
  "url": "https://leetcode.com/problems/two-sum/",
  "id": "1",
  "internalId": "1",
  "title": "Two Sum",
  "titleSlug": "two-sum",
  "difficulty": "Easy",
  "category": "Algorithms",
  "isPremium": false,
  "descriptionHtml": "

You are given an array of integers nums and an integer target, return indices of t...", "description": "You are given an array of integers nums and an integer target, return indices of the two numbers such that they add up t...", "likes": 69478, "dislikes": 2592, "acceptedCount": 22929319, "submissionCount": 39569455, "acceptanceRate": "57.9%", "commentCount": 3490, "topicTags": [ { "name": "Array", "slug": "array" }, { "name": "Hash Table", "slug": "hash-table" } ], "hints": [ "A really brute force way would be to search for all possible pairs of numbers but that would be too slow. Again, it's best to try out brute force solutions just for completeness. It is from these brute force solutions that you can come up with optimizations." ], "exampleTestcases": [ "[2,7,11,15]\n9", "[3,2,4]\n6", "[3,3]\n6" ], "codeSnippets": [ { "language": "Python3", "languageSlug": "python3", "code": "class Solution:\n def twoSum(self, nums: List[int], target: int) -> List[int]:\n " }, { "language": "JavaScript", "languageSlug": "javascript", "code": "/**\n * @param {number[]} nums\n * @param {number} target\n * @return {number[]}\n */\nvar twoSum = function(nums, target) {\n \n};" } ], "similarQuestions": [ { "title": "3Sum", "titleSlug": "3sum", "url": "https://leetcode.com/problems/3sum/", "difficulty": "Medium", "isPremium": false }, { "title": "4Sum", "titleSlug": "4sum", "url": "https://leetcode.com/problems/4sum/", "difficulty": "Medium", "isPremium": false } ], "officialSolution": { "available": true, "isFree": true, "hasVideo": true }, "solutionsUrl": "https://leetcode.com/problems/two-sum/solutions/" }