crawlbaseДокументация
Войти
Счётчики свыше тысячи округляются

LeetCode сокращает счётчики оценок, просмотров и комментариев, как только они превышают тысячу - 11.9K, 2.3M. Они разворачиваются обратно в целые числа, поэтому значение вроде 11900 несёт ту точность, которую показала страница, а не точную величину.

Использование API

Добавьте &scraper=leetcode-solutions к запросу Crawling API. Целевой URL передавайте в параметре url в URL-кодировке.

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

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

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/solutions/',
  { scraper: 'leetcode-solutions' }
);
const data = JSON.parse(res.body);
require 'crawlbase'
api = Crawlbase::API.new(token: 'YOUR_TOKEN')

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

Пример входного URL

В параметре url работает вкладка решений любой задачи LeetCode - страница по адресу /problems/<slug>/solutions/. Например:

https://leetcode.com/problems/two-sum/solutions/
https://leetcode.com/problems/add-two-numbers/solutions/
https://leetcode.com/problems/valid-parentheses/solutions/

Структура ответа

Тело JSON-ответа. Типы полей могут быть null, если исходная страница не содержит значения.

url
string
URL обработанного списка решений.
problem
string | null
Слаг задачи, к которой относятся решения.
problemUrl
string | null
Абсолютный URL страницы задачи.
solutionCount
integer
Число записей, возвращённых в solutions для этой страницы.
solutions
array
Публикации решений, найденные на странице, в порядке их отображения.
solutions[].title
string | null
Заголовок публикации.
solutions[].url
string | null
Абсолютный URL публикации.
solutions[].id
string | null
Идентификатор публикации, взятый из её URL, возвращается строкой.
solutions[].author
object
Аккаунт, опубликовавший решение.
solutions[].author.name
string | null
Отображаемое имя автора.
solutions[].author.username
string | null
Идентификатор профиля автора.
solutions[].author.url
string | null
Абсолютный URL профиля автора.
solutions[].postedAt
string | null
Дата публикации, как показана на карточке.
solutions[].tags
array
Теги на карточке - темы и языки - в виде массива строк.
solutions[].upvotes
integer | null
Число положительных оценок публикации.
solutions[].views
integer | null
Число просмотров публикации.
solutions[].comments
integer | null
Число комментариев к публикации.

Пример ответа

{
  "url": "https://leetcode.com/problems/two-sum/solutions/",
  "problem": "two-sum",
  "problemUrl": "https://leetcode.com/problems/two-sum/",
  "solutionCount": 15,
  "solutions": [
    {
      "title": "Two Sum",
      "url": "https://leetcode.com/problems/two-sum/solutions/127810/two-sum-by-leetcode-kwuq/",
      "id": "127810",
      "author": {
        "name": "LeetCode",
        "username": "leetcode",
        "url": "https://leetcode.com/u/leetcode/"
      },
      "postedAt": "Jun 25, 2021",
      "tags": [
        "Editorial"
      ],
      "upvotes": 5000,
      "views": 13800000,
      "comments": 2700
    },
    {
      "title": "✅3 Method's || C++ || JAVA || PYTHON || Beginner Friendly🔥🔥🔥",
      "url": "https://leetcode.com/problems/two-sum/solutions/3619262/3-methods-c-java-python-beginner-friendl-x595/",
      "id": "3619262",
      "author": {
        "name": "Rahul Varma",
        "username": "rahulvarma5297",
        "url": "https://leetcode.com/u/rahulvarma5297/"
      },
      "postedAt": "Jun 09, 2023",
      "tags": [
        "Array",
        "Hash Table",
        "C++",
        "Java"
      ],
      "upvotes": 11900,
      "views": 2300000,
      "comments": 285
    }
  ]
}